hola compañeros, espero puedan ayudarme, tengo un codigo para crear numeros aleatorios, que funciona perfectamente, pero quisiera que los numeros que vayan saliendo no se repitan , i como podria ir almacenando cada resultado , gracias este es el codigo:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Enabled = False
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim numero As Byte
Timer1.Enabled = True
Randomize()
numero = Rnd() * 6
Do While numero > 6
numero = numero - 6
Loop
Do While numero < 1
numero = numero + 6
Loop
Loop
TextBox1.Text = numero
End Sub
End Class
Ve agregandolos a una lista (List(Of Integer)) y te vas fijando con "Contains" para ver si se repite o no :)
PD: Este tema lo movi a .net, porque es visual basic .net, y siempre pon el codigo entre etiquetas [code][/code]
Cita de: raul338 en 29 Enero 2011, 16:13 PM
Ve agregandolos a una lista (List(Of Integer)) y te vas fijando con "Contains" para ver si se repite o no :)
PD: Este tema lo movi a .net, porque es visual basic .net, y siempre pon el codigo entre etiquetas [code][/code]
me podrias indicar como seria el codigo para insertar los resultados en una lista?, no se como se hace, soy novato, gracias
Tu código tiene 1 error, tiene un loop de mas. Cuando haces la suma:
numero = numero - 6
Se puede hacer así:
numero -= - 6
Tendrás el mismo resultado.
Con respecto ha almacenar los valores Yo usaría un array con tantos elementos como números quieras almacenar. Luego usas una variable para ir moviéndote por cada elemento, y esta variable que vaya incrementando.
La función Rnd() devuelve un número de tipo single... http://msdn.microsoft.com/es-es/library/f7s023d2%28v=vs.80%29.aspx