Título: Generar combinacion de 5 numeros escogiendo los valores de un array Publicado por: usuarioarroba en 28 Agosto 2011, 22:05 pm Necesito crear en VB6 un pequeño programa que genere una combinación de 5 números aleatorios. La combinación debe generarse con una serie de números que yo indique, que algunas veces será mayor y otras veces menor (ejemplo: 1, 2, 5, 6, 9, 21, 22 -- o -- 32, 11, 2, 4, 88), en vez de generarse del 1 al 100 como se suele hacer típicamente. El resultado aparecerá en un txtbox y en la combinación no pueden salir números repetidos. ¿Alguien sabría como hacer este programa?
Título: Re: Generar combinacion de 5 numeros escogiendo los valores de un array Publicado por: BlackZeroX en 28 Agosto 2011, 22:10 pm llevas algo?...
P.D.: No tareas. Dulces Lunas!¡. Título: Re: Generar combinacion de 5 numeros escogiendo los valores de un array Publicado por: usuarioarroba en 29 Agosto 2011, 14:30 pm Tengo hecho este pequeño programa que genera 5 números del 1 al 50, pero necesitaría modificarlo para poder generarlos en base a los que yo indique en un array, teniendo este unas veces mas números y otras menos.
En el formulario tengo una barra de progreso (progreso), el botón de generar (Command1), el botón de guardar (Command2) que guarda el resultado en un fichero dependiendo de la ruta escrita en un txtbox (txtruta). Lo que guarda son los valores que se van almacenando en los txtbox de resultado (txt(4)) de modo que en txt(0) se almacena el primer número generado, en txt(1) el segundo... si se generan mas, separado por una coma se pondría el segundo numero generado... esto depende del valor del txtbox que indica la cantidad de valores a generar (txtcantidad). Código: Private Sub Command1_Click() progreso.Max = txtcantidad For contador = 1 To txtcantidad progreso.Value = contador Randomize Timer Dim cinconumeros(1 To 5) As Integer Dim temporal As Integer Dim i As Integer, j As Integer: j = 1 Dim x As Integer For i = 1 To 5 If i = 1 Then cinconumeros(j) = Int((50 * Rnd) + 1) j = j + 1 Else retorno: temporal = Int((50 * Rnd) + 1) For x = 1 To 5 If temporal = cinconumeros(x) Then GoTo retorno End If Next x cinconumeros(j) = temporal j = j + 1 End If Next i txt(0).Text = txt(0).Text + "," + Str(cinconumeros(1)) txt(1).Text = txt(1).Text + "," + Str(cinconumeros(2)) txt(2).Text = txt(2).Text + "," + Str(cinconumeros(3)) txt(3).Text = txt(3).Text + "," + Str(cinconumeros(4)) txt(4).Text = txt(4).Text + "," + Str(cinconumeros(5)) Next MsgBox ("Los datos han sido generados") End Sub Private Sub Command2_Click() Open txtruta For Append As #1 Print #1, txt(0) Print #1, txt(1) Print #1, txt(2) Print #1, txt(3) Print #1, txt(4) Close #1 MsgBox ("Los datos se han pasado al archivo") End Sub Private Sub Form_Load() End Sub Lo tengo subido en megaupload para que sea mas fácil de ver y entender: http://www.megaupload.com/?d=K1A4LGJO Título: Re: Generar combinacion de 5 numeros escogiendo los valores de un array Publicado por: 79137913 en 29 Agosto 2011, 15:36 pm HOLA!!!
Aca te dejo con tu base de codigo, indestado y un poco mejorado: Código
GRACIAS POR LEER!!! Título: Re: Generar combinacion de 5 numeros escogiendo los valores de un array Publicado por: usuarioarroba en 29 Agosto 2011, 21:25 pm Gracias 79137913. Ha quedado muy optimizado el código. Yo lo descargué de una web y lo modifiqué para adaptarlo a mi programa, pero con un curso de 3 meses de Visual Basic en una academia no es que sepa hacer gran cosa. Lo único que me falta es que en vez de generar los números del 1 al 50 los genere utilizando los de un array de tamaño indefinido. Con eso ya tendría el programa completo.
Título: Re: Generar combinacion de 5 numeros escogiendo los valores de un array Publicado por: BlackZeroX en 30 Agosto 2011, 02:54 am @usuarioarroba
No le dejes la enseñanza a la academia se un poco autodidacta... usa Redim. Dulces Lunas!¡. Título: Re: Generar combinacion de 5 numeros escogiendo los valores de un array Publicado por: usuarioarroba en 30 Agosto 2011, 12:10 pm Bueno BlackZeroX▓▓▒▒░░ después de la academia estuve aprendiendo con la ayuda de Google, pero no soy un gran programador, se hacer algunas cosas con vb, php, asp y muy poco de C, pero como digo, no se me da muy bien.
Título: Re: Generar combinacion de 5 numeros escogiendo los valores de un array Publicado por: usuarioarroba en 30 Agosto 2011, 12:14 pm 79137913, da un error en la línea: For I = 1 To 5
Error '9' en tiempo de ejecución: El subíndice está fuera del interval Título: Re: Generar combinacion de 5 numeros escogiendo los valores de un array Publicado por: 79137913 en 30 Agosto 2011, 13:20 pm HOLA!!!
Mira yo optimice tu codigo no lo revise, pero es imposible eso ya que la variable I no se usa en ningun subindice. Fijate. GRACIAS POR LEER!!! |