Autor
|
Tema: Generar combinacion de 5 numeros escogiendo los valores de un array (Leído 6,684 veces)
|
usuarioarroba
Desconectado
Mensajes: 9
|
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?
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
llevas algo?...
P.D.: No tareas.
Dulces Lunas!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
usuarioarroba
Desconectado
Mensajes: 9
|
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). 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
|
|
« Última modificación: 29 Agosto 2011, 14:54 pm por usuarioarroba »
|
En línea
|
|
|
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
HOLA!!! Aca te dejo con tu base de codigo, indestado y un poco mejorado: Private Sub Command1_Click() Dim cinconumeros(1 To 5) As Integer Dim temporal As Integer Dim I, J, X, Y As Integer J = 1 progreso.Max = txtcantidad For contador = 1 To txtcantidad progreso.Value = contador Randomize Timer 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 For Y = 0 To 4 txt(Y).Text = txt(Y).Text + "," + Str(cinconumeros(Y + 1)) Next Next MsgBox ("Los datos han sido generados") End Sub Private Sub Command2_Click() Dim Z As Long Open txtruta For Append As #1 For Y = 0 To 4 Print #1, txt(Z) Next Close #1 MsgBox ("Los datos se han pasado al archivo") End Sub
GRACIAS POR LEER!!!
|
|
|
En línea
|
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!" "La peor de las ignorancias es no saber corregirlas"
79137913 *Shadow Scouts Team*
|
|
|
usuarioarroba
Desconectado
Mensajes: 9
|
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.
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
@usuarioarroba
No le dejes la enseñanza a la academia se un poco autodidacta... usa Redim.
Dulces Lunas!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
usuarioarroba
Desconectado
Mensajes: 9
|
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.
|
|
|
En línea
|
|
|
|
usuarioarroba
Desconectado
Mensajes: 9
|
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
|
|
|
En línea
|
|
|
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
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!!!
|
|
|
En línea
|
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!" "La peor de las ignorancias es no saber corregirlas"
79137913 *Shadow Scouts Team*
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Array [Ir apilando valores y buscar un valor]
Java
|
Debci
|
6
|
5,501
|
12 Septiembre 2009, 11:27 am
por Debci
|
|
|
valores de array aleatorios en C#...URGENTE PORFAVOR
Dudas Generales
|
kanlet
|
7
|
4,972
|
23 Junio 2011, 02:12 am
por kanlet
|
|
|
DEVOLVER VALORES ALEATORIOS DE UNA ARRAY EN C#?????'
.NET (C#, VB.NET, ASP)
|
kanlet
|
0
|
3,891
|
19 Junio 2011, 20:22 pm
por kanlet
|
|
|
Recoger valores binarios en un array
.NET (C#, VB.NET, ASP)
|
sancakoky
|
4
|
3,133
|
13 Noviembre 2011, 01:03 am
por Novlucker
|
|
|
Agregando valores a un array me da problema
.NET (C#, VB.NET, ASP)
|
TrashAmbishion
|
5
|
2,684
|
27 Mayo 2012, 02:44 am
por $Edu$
|
|