Visual Basic - Codigo para que no repita un nro en el randomize

Life is soft - evento anual de software empresarial
 
Vista:

Codigo para que no repita un nro en el randomize

Publicado por Qwerty (2 intervenciones) el 23/10/2007 19:30:49
eso, como seria el codigo para que no me repita un nro cuando utilizo el rnd y como hacer para que una ves precionado el Command1_Click me lance la lista de 21 nros a la ves, en ves de precionar el boton 21 una veces?

plz

aca el codigo que estoy utilizando.
--
Private Sub Command1_Click()
Dim num(21) As Integer
Dim x, y As Integer

num(1) = 3
num(2) = 7
num(3) = 8
num(4) = 10
num(5) = 18
num(6) = 20
num(7) = 27
num(8) = 28
num(9) = 31
num(10) = 39
num(11) = 44
num(12) = 48
num(13) = 55
num(14) = 57
num(15) = 59
num(16) = 60
num(17) = 68
num(18) = 75
num(19) = 79
num(20) = 81
num(21) = 82

Do
Randomize
y = Int(Rnd * UBound(num)) + 1
If num(b) >= 0 Then
List1.AddItem num(y)
num(y) = -1
x = x + 1
End If
Loop While x = UBound(num)
End Sub
--
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Codigo para que no repita un nro en el randomiz

Publicado por ivan (1039 intervenciones) el 23/10/2007 21:57:18
Llevas dos semanas preguntando lo mismo (con diferentes nombres) y al fín nos hemos enterado de lo que quieres. No debería contestarte, por lo indicado, pero en fin, es que soy muy blando.

Quita todo el código que has puesto a partir de Do (incluido, claro) y pon este:

Dim i As Integer, j As Integer, a(21) As Integer
Randomize
For i = 1 To 21
repetir:
y = Int(Rnd * UBound(num)) + 1
For j = 1 To UBound(a)
If y = a(j) Then GoTo repetir
Next j
a(i) = y
List1.AddItem num(y)
Next i
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar