Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: jan77 en 29 Enero 2011, 15:26 PM

Título: codigo para que no se repitan los numeros aleatorios con un randomize
Publicado por: jan77 en 29 Enero 2011, 15:26 PM
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:
Código (vbnet) [Seleccionar]

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
Título: Re: codigo para que no se repitan los numeros aleatorios con un randomize
Publicado por: 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]
Título: Re: codigo para que no se repitan los numeros aleatorios con un randomize
Publicado por: jan77 en 5 Febrero 2011, 10:49 AM
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
Título: Re: codigo para que no se repitan los numeros aleatorios con un randomize
Publicado por: kingdarnakes en 5 Febrero 2011, 11:49 AM
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