Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

numeros repetidos

Estas en el tema de numeros repetidos en el foro de Visual Basic clásico en Foros del Web. muy buenas tengo el siguiente problema, con este codigo de random es que cada vez que reinicio el programa me vuelve los mismos numeros y ...
  #1 (permalink)  
Antiguo 09/06/2011, 12:07
 
Fecha de Ingreso: diciembre-2010
Mensajes: 11
Antigüedad: 13 años, 4 meses
Puntos: 0
numeros repetidos

muy buenas tengo el siguiente problema, con este codigo de random es que cada vez que reinicio el programa me vuelve los mismos numeros y queria saver si hay alguna forma de cambiar aquello este es el codigo:

Cita:
Private Sub Command2_Click()
Dim a As Integer
Dim i As Integer
i = 0

i = 0
Do
m = (Int((49 * Rnd) + 1))
If (chk0(m).Value <> vbChecked) Then
chk0(m).Value = vbChecked
chk0(m).BackColor = vbGreen
i = i + 1
End If
Loop Until (i = 6)
por favor ayuda es super urgente muchas gracias
  #2 (permalink)  
Antiguo 09/06/2011, 12:13
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: numeros repetidos

Usa la función Randomize para genera una semilla basada en la hora actual:

Código vb:
Ver original
  1. Private Sub Command2_Click()
  2. Dim a As Integer
  3. Dim i As Integer
  4. i = 0
  5. Randomize()
  6. Do
  7. m = (Int((49 * Rnd) + 1))
  8. If (chk0(m).Value <> vbChecked) Then
  9. chk0(m).Value = vbChecked
  10. chk0(m).BackColor = vbGreen
  11. i = i + 1
  12. End If
  13. Loop Until (i = 6)
  #3 (permalink)  
Antiguo 10/06/2011, 11:18
 
Fecha de Ingreso: diciembre-2010
Mensajes: 11
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: numeros repetidos

muy buenas como soy nuevo en esto del VB me podrias explicar a que te refieres con "una semilla basada en la hora actual"
muchas gracias
  #4 (permalink)  
Antiguo 10/06/2011, 11:32
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: numeros repetidos

La semilla es un número que utiliza la función rdn para generar los números pseudo-aleatorios (fijate que son pseudo-aleatorios y no aleatorios) y con Randomize pones la semilla en base a la hora actual (puede ser que sean los segundos que han pasado desde una determinada fecha).


Lee estos links para informarte:

http://msdn.microsoft.com/es-es/libr...(v=vs.80).aspx

http://es.wikipedia.org/wiki/N%C3%BA...seudoaleatorio

Etiquetas: numeros, repetidos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:11.