Visual Basic.NET - PREGUNTITA DE NOVATO

 
Vista:
sin imagen de perfil

PREGUNTITA DE NOVATO

Publicado por Juan Diego  (3 intervenciones) el 10/08/2009 02:50:53
Efectivamente soy novato y tengo un problema con un bucle que supongo que es tonto pero no doy con la solucion.

Lo que estoy realizando es un programa que genere numeros aleatorios para por ejemplo la primitiva. Hago un array (matriz) de 6 numeros y genero con un bucle For y lleno la matriz y la muestro en un formulario... peroooo y aqui viene mi problema tonto, en algunas ocasiones me generan dos o tres numeros iguales y claro deberian ser 6 distintos. Y la verdad no se como aplicar el bucle para que cada vez que asigne un valor a un puesto del array me comruebe que es distinto a los que estan dentro ya asignados. Si alguien por favor podria echarme una manita se lo agradeceria ya que llevo ya muchas horas con esto y ya es por "mis cojones" perdonar la expresion. jajaja

Agrego el codigo que tengo:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' Inicializar la clase Random
Dim Random As New Random()

' Iniciar Contador y Matriz
Dim i As Integer
Dim lp(4) As Integer

' Generar matriz y random para rellenar la matriz con numero entre 1 y 49
For i = 0 To 4
lp(i) = Random.Next(1, 49)
Next

' Ordenar Matriz
Array.Sort(lp)

' Imprimir en formulario valores
Label11.Text = Str(lp(0))
Label12.Text = Str(lp(1))
Label13.Text = Str(lp(2))
Label14.Text = Str(lp(3))
Label15.Text = Str(lp(4))
' Valor numero clave
Dim numero1 As Integer = Random.Next(1, 9)
Label16.Text = Str(numero1)
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:PREGUNTITA DE NOVATO

Publicado por jaime guerrero (5 intervenciones) el 10/08/2009 23:43:54
dim valor as integer
dim y as integer

For i = 0 To 4
if i=0 then
lp(i) = Random.Next(1, 49)
else
valor=Random.Next(1, 49)
for y=0 to i
if valor=ip(y) then
valor=Random.Next(1, 49)
y=-1
end if
next
end if

Next

algo asi seria
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
Imágen de perfil de FRANCISCO
Val: 6
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

RE:PREGUNTITA DE NOVATO

Publicado por FRANCISCO (162 intervenciones) el 11/08/2009 00:13:16
SOY EL MEJOR
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Random As New Random()

' Iniciar Contador y Matriz
Dim i As Integer
Dim lp(6) As Integer
Dim numero As integer
Dim comprueba as integer

' Generar matriz y random para rellenar la matriz con numero entre 1 y 49
For i = 1 To 6
Randomize()
lp(i) = Random.Next(1, 49)
numero = lp(i)
For comprueba = 1 To i - 1
If numero = lp(comprueba) Then
i = i - 1
End If
Next

Next

' Ordenar Matriz
Array.Sort(lp)

' Imprimir en formulario valores
Label1.Text = Str(lp(1)) & " " & Str(lp(2)) & " " & Str(lp(3)) & " " & Str(lp(4)) & " " & Str(lp(5)) & " " & Str(lp(6))

' Valor numero clave
Dim numero1 As Integer = Random.Next(1, 9)
Label2.Text = Str(numero1)
End Sub

End Class
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