Autor
|
Tema: Combinaciones numericas por posicion con numeros guias (Leído 19,692 veces)
|
luis456
Desconectado
Mensajes: 551
|
Gracias elektro por tu paciencia Puse un post donde explico un poco mejor el asunto me imagino que lo habrás leído No se explicar bien el problema tratare de hacerlo mejor. Primero en los códigos que me has mostrado pasa una cosa y es que cada ves que lo ejecuto cambian las combinaciones y deberían ser las mismas combinaciones siempre y cuando no se cambien los numeros introducidos por el usuario los numeros guías son para tomar las posiciones de las combinaciones los numeros no son asociados ni no son para ver que posición toman en orden, ya que si pongo el de 10 de primero este toma la posición del 1 y si pongo el 20 de primero este hace lo mismo toma la posicion del 1 Números 01-02-03-04-05-06-07-08-09-10-11-12-13-14 01-02-03-04-05-06 01-02-03- 07-08-09 01-04-09- 10-11-12 01- 05- 07 10 13-14 01- 06- 08- 11-12-13 02-03-04- 07- 10- 13 02-03- 05- 09- 11- 14 02- 04- 08- 11- 3-14 02- 05-06- 10-11-12 03- 06- 09- 12-13-14 03- 07-08- 1 10-11-12 03- 07-08- 10-11-12 04-05-06-07-08-09 Combinaciones de la rueda aquí esta la forma en como se combinan los numeros 01)...01-02-03-04-05-06. 02)...01-02-03-07-08-09. . 03)...01-04-09-10-11-12 04)...01-05-07-10-13-14. . 05)...01-06-08-11-12-13. . 06)...02-03-04-07-10-13 07)...02-03-05-09-11-14. . 08)...02-04-08-11-13-14. . 09)...02-05-06-10-11-12 10)...03-06-09-12-13-14. . 11)...03-07-08-10-11-12. . 12)...04-05-06-07-08-09 Números guías: 01-02-03-04-05-06-07-08-09-10-11-12-13-14 numeros usuario: 10 13 18 25 26 28 30 32 35 37 40 42 45 47<--este seria el imput y esta la salida 10 13 18 25 26 28 10 13 18 30 32 35 10 25 35 37 40 42 10 26 30 37 45 47 10 28 32 40 42 45 13 18 25 30 37 45 13 18 26 35 40 47 13 25 32 40 45 47 13 26 28 37 42 45 18 28 35 42 45 47 18 30 32 37 42 45 25 26 28 30 32 35 Gracias por tu infinita paciencia Luis
|
|
|
En línea
|
Que tu sabiduria no sea motivo de Humillacion para los demas
|
|
|
luis456
Desconectado
Mensajes: 551
|
Bueno unos días después de estar fuera vuelvo al ataque jejej con el tema de las combinaciones e echo a pie este código, pero ya me perdí de tanto escribir pero es la idea de lo de las combinaciones mas o menos lo que me gustaria es poder simplificarlo. Public Class Form1 Dim maximum As Short = 99 Dim Número As Double Private TextBoxes As TextBox() = {Nothing} Private r1 = 5 Private r2 = 15 Private r3 = 25 Private r4 = 35 Private r5 = 40 Private r6 = 45 Private ar1 = 6 Private br2 = 10 Private cr3 = 20 Private dr4 = 30 Private er5 = 40 Private sr6 = 4 Private _textBox As Object Private Property ListBox1Count As Integer ReadOnly MAX As Integer = 8 Dim Result22 As Integer Dim Counter, Counter2 As Integer Dim myLabelArray(6) As Label Private Sub Limpiar_Cajas(ByVal f As Form) ' recorrer todos los controles del formulario indicado For Each c As Control In f.Controls If TypeOf c Is TextBox Then c.Text = "" ' eliminar el texto End If Next End Sub Private Sub Button4_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button4.Click ' pasar el formulario Call Limpiar_Cajas(Me) End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 'funcion para introducir manualmente r1 = Val(TextBox1.Text) End Sub 'funcion unir o formar combinaciones Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ListBox1.Items.Add(TextBox1.Text) ListBox1.Items.Add(TextBox6.Text) ListBox1.Items.Add(TextBox7.Text) ListBox1.Items.Add(TextBox8.Text) ListBox1.Items.Add(TextBox10.Text) ListBox1.Items.Add(TextBox12.Text) 'funcion unir o formar combinaciones segundo lisb ListBox2.Items.Add(TextBox1.Text) ListBox2.Items.Add(TextBox2.Text) ListBox2.Items.Add(TextBox4.Text) ListBox2.Items.Add(TextBox31.Text) ListBox2.Items.Add(TextBox33.Text) ListBox2.Items.Add(TextBox36.Text) 'funcion unir o formar combinaciones terce lisb ListBox3.Items.Add(TextBox1.Text) ListBox3.Items.Add(TextBox2.Text) ListBox3.Items.Add(TextBox4.Text) ListBox3.Items.Add(TextBox6.Text) ListBox3.Items.Add(TextBox7.Text) ListBox3.Items.Add(TextBox8.Text) 'funcion unir o formar combinaciones cuarto lisb ListBox4.Items.Add(TextBox1.Text) ListBox4.Items.Add(TextBox2.Text) ListBox4.Items.Add(TextBox4.Text) ListBox4.Items.Add(TextBox13.Text) ListBox4.Items.Add(TextBox14.Text) ListBox4.Items.Add(TextBox15.Text) 'funcion unir o formar combinaciones quinto lisb ListBox5.Items.Add(TextBox1.Text) ListBox5.Items.Add(TextBox5.Text) ListBox5.Items.Add(TextBox14.Text) ListBox5.Items.Add(TextBox15.Text) ListBox5.Items.Add(TextBox34.Text) ListBox5.Items.Add(TextBox35.Text) 'funcion unir o formar combinaciones sesta lisb ListBox6.Items.Add(TextBox2.Text) ListBox6.Items.Add(TextBox5.Text) ListBox6.Items.Add(TextBox13.Text) ListBox6.Items.Add(TextBox14.Text) ListBox6.Items.Add(TextBox15.Text) ListBox6.Items.Add(TextBox33.Text) 'funcion unir o formar combinaciones 7o lisb ListBox7.Items.Add(TextBox6.Text) ListBox7.Items.Add(TextBox5.Text) ListBox7.Items.Add(TextBox2.Text) ListBox7.Items.Add(TextBox10.Text) ListBox7.Items.Add(TextBox11.Text) ListBox7.Items.Add(TextBox18.Text) 'funcion unir o formar combinaciones 8o lisb ListBox8.Items.Add(TextBox1.Text) ListBox8.Items.Add(TextBox3.Text) ListBox8.Items.Add(TextBox5.Text) ListBox8.Items.Add(TextBox19.Text) ListBox8.Items.Add(TextBox27.Text) ListBox8.Items.Add(TextBox29.Text) 'funcion unir o formar combinaciones 9o lisb ListBox9.Items.Add(TextBox22.Text) ListBox9.Items.Add(TextBox25.Text) ListBox9.Items.Add(TextBox27.Text) ListBox9.Items.Add(TextBox30.Text) ListBox9.Items.Add(TextBox31.Text) ListBox9.Items.Add(TextBox32.Text) 'funcion unir o formar combinaciones 10o lisb ListBox10.Items.Add(TextBox24.Text) ListBox10.Items.Add(TextBox26.Text) ListBox10.Items.Add(TextBox28.Text) ListBox10.Items.Add(TextBox33.Text) ListBox10.Items.Add(TextBox34.Text) ListBox10.Items.Add(TextBox35.Text) 'funcion unir o formar combinaciones 11o lisb ListBox11.Items.Add(TextBox2.Text) ListBox11.Items.Add(TextBox4.Text) ListBox11.Items.Add(TextBox23.Text) ListBox11.Items.Add(TextBox31.Text) ListBox11.Items.Add(TextBox32.Text) ListBox11.Items.Add(TextBox34.Text) 'funcion unir o formar combinaciones 12o lisb ListBox12.Items.Add(TextBox1.Text) ListBox12.Items.Add(TextBox2.Text) ListBox12.Items.Add(TextBox4.Text) ListBox12.Items.Add(TextBox32.Text) ListBox12.Items.Add(TextBox33.Text) ListBox12.Items.Add(TextBox35.Text) 'funcion unir o formar combinaciones 13o lisb ListBox13.Items.Add(TextBox6.Text) ListBox13.Items.Add(TextBox13.Text) ListBox13.Items.Add(TextBox31.Text) ListBox13.Items.Add(TextBox33.Text) ListBox13.Items.Add(TextBox35.Text) ListBox13.Items.Add(TextBox36.Text) 'funcion unir o formar combinaciones 14o lisb ListBox14.Items.Add(TextBox13.Text) ListBox14.Items.Add(TextBox14.Text) ListBox14.Items.Add(TextBox30.Text) ListBox14.Items.Add(TextBox31.Text) ListBox14.Items.Add(TextBox33.Text) ListBox14.Items.Add(TextBox35.Text) 'funcion unir o formar combinaciones 15o lisb ListBox15.Items.Add(TextBox6.Text) ListBox15.Items.Add(TextBox7.Text) ListBox15.Items.Add(TextBox8.Text) ListBox15.Items.Add(TextBox12.Text) ListBox15.Items.Add(TextBox14.Text) ListBox15.Items.Add(TextBox15.Text) ListBox15.Items.Add(TextBox30.Text) 'funcion unir o formar combinaciones 16o lisb 'funcion unir o formar combinaciones 17o lisb 'funcion unir o formar combinaciones 18o lisb 'funcion unir o formar combinaciones 19o lisb 'funcion unir o formar combinaciones 20o lisb End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Close() End Sub Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged TextBox1.Text = r1 + 1 TextBox2.Text = r1 + 2 TextBox3.Text = r1 + 3 TextBox4.Text = r1 - 1 TextBox5.Text = r1 - 2 TextBox6.Text = r1 - 3 TextBox7.Text = r2 + 1 TextBox8.Text = r2 + 2 TextBox9.Text = r2 + 3 TextBox10.Text = r2 - 1 TextBox11.Text = r2 - 2 TextBox12.Text = r2 - 3 TextBox13.Text = r3 + 1 TextBox14.Text = r3 + 2 TextBox15.Text = r3 + 3 TextBox16.Text = r3 - 1 TextBox17.Text = r3 - 2 TextBox18.Text = r3 - 3 TextBox19.Text = r4 + 1 TextBox20.Text = r4 + 2 TextBox21.Text = r4 + 3 TextBox22.Text = r4 - 1 TextBox23.Text = r4 - 2 TextBox24.Text = r4 - 3 TextBox25.Text = r5 + 1 TextBox26.Text = r5 + 2 TextBox27.Text = r5 + 3 TextBox28.Text = r5 - 1 TextBox29.Text = r5 - 2 TextBox30.Text = r5 - 3 TextBox31.Text = r6 + 1 TextBox32.Text = r6 + 2 TextBox33.Text = r6 + 3 TextBox34.Text = r6 - 1 TextBox35.Text = r6 - 2 TextBox36.Text = r6 - 3 End Sub Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged TextBox1.Text = ar1 + 1 TextBox2.Text = ar1 + 2 TextBox3.Text = ar1 + 3 TextBox4.Text = ar1 - 1 TextBox5.Text = ar1 - 2 TextBox6.Text = ar1 - 3 TextBox7.Text = br2 + 1 TextBox8.Text = br2 + 2 TextBox9.Text = br2 + 3 TextBox10.Text = br2 - 1 TextBox11.Text = br2 - 2 TextBox12.Text = br2 - 3 TextBox13.Text = cr3 + 1 TextBox14.Text = cr3 + 2 TextBox15.Text = cr3 + 3 TextBox16.Text = cr3 - 1 TextBox17.Text = cr3 - 2 TextBox18.Text = cr3 - 3 TextBox19.Text = dr4 + 1 TextBox20.Text = dr4 + 2 TextBox21.Text = dr4 + 3 TextBox22.Text = dr4 - 1 TextBox23.Text = dr4 - 2 TextBox24.Text = dr4 - 3 TextBox25.Text = er5 + 1 TextBox26.Text = er5 + 2 TextBox27.Text = er5 + 3 TextBox28.Text = er5 - 1 TextBox29.Text = er5 - 2 TextBox30.Text = er5 - 3 TextBox31.Text = sr6 + 1 TextBox32.Text = sr6 + 2 TextBox33.Text = sr6 + 3 TextBox34.Text = sr6 - 1 TextBox35.Text = sr6 - 2 TextBox36.Text = sr6 - 3 End Sub Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged End Sub Private Sub CheckBox4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox4.CheckedChanged End Sub Private Sub CheckBox5_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox5.CheckedChanged End Sub Private Sub CheckBox6_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox6.CheckedChanged End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim Num As Double Randomize() Num = Rnd() MsgBox(Num) End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click ListBox1.Items.Clear() ListBox2.Items.Clear() ListBox3.Items.Clear() ListBox4.Items.Clear() ListBox5.Items.Clear() ListBox6.Items.Clear() ListBox7.Items.Clear() ListBox8.Items.Clear() ListBox9.Items.Clear() ListBox10.Items.Clear() ListBox11.Items.Clear() ListBox12.Items.Clear() ListBox13.Items.Clear() ListBox14.Items.Clear() ListBox15.Items.Clear() ListBox16.Items.Clear() ListBox17.Items.Clear() ListBox18.Items.Clear() ListBox19.Items.Clear() ListBox20.Items.Clear() End Sub End Class
|
|
|
En línea
|
Que tu sabiduria no sea motivo de Humillacion para los demas
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.866
|
Hola Antes de nada quiero avisarte de que todos los códigos los he escrito al vuelo (en el Notepad) si algo da error de sintaxis, disculpa.
For Each c As Control In f.Controls If TypeOf c Is TextBox Then c.Text = "" ' eliminar el texto End If Next
Esa parte se puede simplificar un poquito (solo un poquito): Utiliza el método 'OfType' para especificar el tipo de control. Y utiliza el método "Clear" del TextBox. for each tb as textbox in Me.f.Controls.OfType(Of TextBox) tb.Clear() next tb
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Esa parte es demasiado grande pero no percibo el patron que sigues al añadir los textbox como para poder ayudarte a simplificar el código. Lo único, que podrías utilizar el método "AddRange" para añadir varios objetos a la colección, en una sola instrucción: ListBox1.Items.addrange({TextBox1.Text,TextBox6.Text,TextBox7.Text,TextBox8.Text,TextBox10.Text,TextBox12.Text})
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged Private Sub CheckBox4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox4.CheckedChanged Private Sub CheckBox5_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox5.CheckedChanged Private Sub CheckBox6_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox6.CheckedChanged
Aquí el patrón que usaste es perceptible. ( Podrías hacerlo de varias maneras, pero no te voy a confundir con más código que este ) primero de nada te suscribes al mismo evento de todos los checkboxes a un único event-handler: Private Sub CheckBoxes_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles CheckBox1.CheckedChanged, checkbox2.CheckedChanged, checkbox3.CheckedChanged 'etc...
y luego puedes simplificar el bloque entero en algo así: dim values as integer() ' asigno los valores apropiados al array, según el checkbox que haya lanzado el evento CheckedChanged ' el primer valor negativo '-0' se omitirá, es para compensar el índice basado en "1" de los textbox y del for select case sender.name case "CheckBox1" values = {-0,r1,r2,r3,r4,r5,r6} case "CheckBox2" values = {-0,ar1 ,br2 ,cr3 ,dr4 ,er5 ,sr6 } case "CheckBox3" ' ... case else ' ... end case for x as integer = 1 to 36 step 6 'textbox1 to textbox36 me.controls("textbox" & cstr(x)).text = cstr(values(x) +1i) 'tb1 me.controls("textbox" & cstr(x+1)).text = cstr(values(x) +2i) 'tb2 me.controls("textbox" & cstr(x+2)).text = cstr(values(x) +3i) 'tb3 me.controls("textbox" & cstr(x+3)).text = cstr(values(x) -1i) 'tb4 me.controls("textbox" & cstr(x+4)).text = cstr(values(x) -2i) 'tb5 me.controls("textbox" & cstr(x+5)).text = cstr(values(x) -3i) 'tb6 next x
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Aquí ya te pasaste '¬¬ Podrías haber aplicado el mismo principio que aplicaste al usar: For Each c As Control In f.Controls If TypeOf c Is ...
Pero ni eso hiciste '¬¬ (supongo que ya estarías agobiado xD) Creo que esto ya sabrás como resolverlo, te mostré un ejemplo de lo mismo al principio
|
|
« Última modificación: 26 Julio 2014, 11:06 am por Eleкtro »
|
En línea
|
|
|
|
luis456
Desconectado
Mensajes: 551
|
Bueno ya me enrede de nuevo de verdad que lo de estas combinaciones me esta poniendo tarambana jejejje Ahora trasteando he conseguido esto que según lo que veo me podría servir mucho ya que puedo jugar con las posiciones ahora creo que esto es para texto y no se si me sirve numerico y como evitaria los repetidos deshaceCombina(0)=mid(cadena,1,1) deshaceCombina(1)=mid(cadena,2,1) deshaceCombina(2)=mid(cadena,3,1) deshaceCombina(3)=mid(cadena,4,1)
|
|
|
En línea
|
Que tu sabiduria no sea motivo de Humillacion para los demas
|
|
|
Jero67
Desconectado
Mensajes: 14
|
Hola Luis.
Llevo tiempo sin entrar por aquí, así que no había visto este post.
Creo que sé lo que quieres, solo creo, y la solución es bastante sencilla, si es realmente lo que quieres.
A ver si te he entendido:
Tienes un grupo de combinaciones con números guía (01,02,03,04,05,06) y quieres cambiarlo por tus números (17,20,25,31,38,41,43,47,49), el caso es tan sencillo como meter cada grupo de combinaciones en un List o Array y tus números en otro List o Array. Después de esto crear un tercer List o Array con los números cambiados, por ejemplo:
LIST de combinaciones con los números guía 01,02,03,04,05,06 01,02,03,04,05,07 01,02,03,04,05,08 01,02,03,04,05,09
List con nuestros números 17 20 25 31 38 41 43 47 49
En el tercer List tendremos que sustituir cada uno de los números guía por los nuestros propios:
List con nuestros números:
17,20,25,31,38,41 17,20,25,31,38,43 17,20,25,31,38,47 17,20,25,31,38,49
Lo que no sé es si la combinación de números guía la quieres generar tu o bien la quieres coger desde un fichero .txt, de esta segunda forma lo tendrías mas fácil y es simplemente cargando el fichero .txt con las combinaciones en el List o Array de números guía.
Espero que sea esto lo que quieres conseguir.
Un saludo
|
|
|
En línea
|
|
|
|
XresH
|
fa, lo lei todo, creo que antes de comenzar a meter codigo hay que entender al 100 % lo que quiere, es decir de eso se trata programar, de llevar un problema a las manos del ordenador, pero sino captamos el problema es dificil desarrollar una posible solucion, asi no se entreveran, sinceramente todavia tengo dudas de lo que necesita el colega de luis, todos manejamos distintos terminos en varios sentidos, no se si todavia lo necesitara o ya consiguio lo que queria debido a que el post tiene bastante tiempo.
Solo lo hago para saber si hay necesidad de contestar o solamente dejarlo pasar..
Saludos.
|
|
|
En línea
|
|
|
|
luis456
Desconectado
Mensajes: 551
|
Hola Luis.
Llevo tiempo sin entrar por aquí, así que no había visto este post.
Creo que sé lo que quieres, solo creo, y la solución es bastante sencilla, si es realmente lo que quieres.
A ver si te he entendido:
Tienes un grupo de combinaciones con números guía (01,02,03,04,05,06) y quieres cambiarlo por tus números (17,20,25,31,38,41,43,47,49), el caso es tan sencillo como meter cada grupo de combinaciones en un List o Array y tus números en otro List o Array. Después de esto crear un tercer List o Array con los números cambiados, por ejemplo:
LIST de combinaciones con los números guía 01,02,03,04,05,06 01,02,03,04,05,07 01,02,03,04,05,08 01,02,03,04,05,09
List con nuestros números 17 20 25 31 38 41 43 47 49
En el tercer List tendremos que sustituir cada uno de los números guía por los nuestros propios:
List con nuestros números:
17,20,25,31,38,41 17,20,25,31,38,43 17,20,25,31,38,47 17,20,25,31,38,49
Lo que no sé es si la combinación de números guía la quieres generar tu o bien la quieres coger desde un fichero .txt, de esta segunda forma lo tendrías mas fácil y es simplemente cargando el fichero .txt con las combinaciones en el List o Array de números guía.
Espero que sea esto lo que quieres conseguir.
Un saludo
Si veo que cojiste la idea y los números se pueden cargar desde un txt o de una variable que ya contiene los números a combinar saludos Luis
|
|
|
En línea
|
Que tu sabiduria no sea motivo de Humillacion para los demas
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Combinaciones numericas
« 1 2 3 »
Hacking
|
Touring
|
25
|
26,397
|
17 Febrero 2012, 00:35 am
por hcalderon11
|
|
|
Generador de claves numericas con todas las combinaciones posibles??? (RESUELTO)
« 1 2 »
Scripting
|
SuperDraco
|
12
|
26,204
|
1 Julio 2010, 23:14 pm
por SuperDraco
|
|
|
Combinaciones con 54 numeros
.NET (C#, VB.NET, ASP)
|
mr_marley
|
3
|
9,547
|
27 Noviembre 2011, 01:56 am
por mr_marley
|
|
|
Buscador de combinaciones numéricas
Dudas Generales
|
hcalderon11
|
0
|
3,476
|
16 Febrero 2012, 21:49 pm
por hcalderon11
|
|
|
formar combinaciones de 7 y 8 numeros con 25 numeros
« 1 2 ... 5 6 »
.NET (C#, VB.NET, ASP)
|
luis456
|
51
|
31,412
|
31 Octubre 2014, 17:48 pm
por luis456
|
|