Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: luis456 en 11 Octubre 2014, 11:54 am



Título: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 11 Octubre 2014, 11:54 am
Hola
bien esto de las combinaciones me esta volviendo adicto a lo imposible jejej

tengo 25 números de dos dígitos y como siempre desde el 00 hasta el 99 y quiero hacer o formar grupos de 7 y 8 números donde estén todos los números de entre estos 25 .

ejemplo: 01 09 11 12 14 16 20 24 35 38 40 44 50 58 59 60 68 70 77 80 81 88 90 92 99

alguna idea

Luis

Hoy sabado a programar mm como me gusta jejejej :)


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 11 Octubre 2014, 16:34 pm
hacer grupos de 7 y 8 números donde estén todos los números de entre estos 25 .

¿puedes mostrar como sería el resultado.

Saludos


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: XresH en 11 Octubre 2014, 17:49 pm
Con simple logica basica lo logras, forma arrays redimensionandolos cada vez que le asignas un numero(redim preserve), despues verificas (por si no queres repetidos) y obtenes valores aleatorios de la manera tradicional.

Podes agregarlos a un control cualquiera que maneje listas para luego regir su busqueda y comparacion a traves del index.

Hay varias formas.


¿puedes mostrar como sería el resultado.

Saludos

Aca esta un supuesto resultado:
Cita de: luis456
"ejemplo: 01 09 11 12 14 16 20 24 35 38 40 44 50 58 59 60 68 70 77 80 81 88 90 92 99"

Saludos.



Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 11 Octubre 2014, 19:44 pm
¿puedes mostrar como sería el resultado.

Saludos

muestra de numeros a combinar
 01 09 11 12 14 16 20   24  35 38 40  44  50  58  59 60 68 70 77 80 81 88 90 92 99
 

 01 09 11 12 14 16 20 24
 01 09 11 12 14 16 20 35
 01 09 11 12 14 16 20 38
 01 09 11 12 14 16 20 40
 01 09 11 12 14 16 20 44
 01 09 11 12 14 16 20 50
 01 09 11 12 14 16 20 58
 01 09 11 12 14 16 20 59
 01 09 11 12 14 16 20 60
 01 09 11 12 14 16 20 68
 01 09 11 12 14 16 20 70 hasta el 99

y después sigue con el segundo numero

09 11 12 14 16 20 24 35
09 11 12 14 16 20 24 38

y haci hasta acabar con todos


Luis


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 12 Octubre 2014, 07:25 am
Código
  1. Public Class Form1
  2.  
  3.    ReadOnly constantValues As New List(Of Integer) From
  4.        {
  5.            1I, 9I, 11, 12, 14, 16, 20, 24, 35, 38,
  6.            40, 44, 50, 58, 59, 60, 68, 70, 77, 80,
  7.            81, 88, 90, 92, 99
  8.        }
  9.  
  10.    Private Shadows Sub Load() Handles MyBase.Load
  11.  
  12.        Dim combinations As New List(Of Integer())
  13.  
  14.        Dim length As Integer = 7
  15.        Dim skipStart As Integer = 0
  16.  
  17.        Do Until skipStart = (constantValues.Count - length)
  18.  
  19.            Dim values As List(Of Integer) = constantValues.GetRange(skipStart, length)
  20.            Dim count As Integer = 0
  21.  
  22.            Do Until count = (constantValues.Count - length - skipStart)
  23.  
  24.                combinations.Add(values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToArray)
  25.                Debug.WriteLine(String.Join(", ", values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToArray))
  26.  
  27.                count += 1
  28.  
  29.            Loop ' count = (constantValues.Count - length)
  30.  
  31.            skipStart += 1
  32.  
  33.        Loop ' skipStart = (constantValues.Count - length)
  34.  
  35.    End Sub
  36.  
  37. End Class


Output:
Citar
1, 9, 11, 12, 14, 16, 20, 24
1, 9, 11, 12, 14, 16, 20, 35
1, 9, 11, 12, 14, 16, 20, 38
1, 9, 11, 12, 14, 16, 20, 40
1, 9, 11, 12, 14, 16, 20, 44
1, 9, 11, 12, 14, 16, 20, 50
1, 9, 11, 12, 14, 16, 20, 58
1, 9, 11, 12, 14, 16, 20, 59
1, 9, 11, 12, 14, 16, 20, 60
1, 9, 11, 12, 14, 16, 20, 68
1, 9, 11, 12, 14, 16, 20, 70
1, 9, 11, 12, 14, 16, 20, 77
1, 9, 11, 12, 14, 16, 20, 80
1, 9, 11, 12, 14, 16, 20, 81
1, 9, 11, 12, 14, 16, 20, 88
1, 9, 11, 12, 14, 16, 20, 90
1, 9, 11, 12, 14, 16, 20, 92
1, 9, 11, 12, 14, 16, 20, 99

9, 11, 12, 14, 16, 20, 24, 35
9, 11, 12, 14, 16, 20, 24, 38
9, 11, 12, 14, 16, 20, 24, 40
9, 11, 12, 14, 16, 20, 24, 44
9, 11, 12, 14, 16, 20, 24, 50
9, 11, 12, 14, 16, 20, 24, 58
9, 11, 12, 14, 16, 20, 24, 59
9, 11, 12, 14, 16, 20, 24, 60
9, 11, 12, 14, 16, 20, 24, 68
9, 11, 12, 14, 16, 20, 24, 70
9, 11, 12, 14, 16, 20, 24, 77
9, 11, 12, 14, 16, 20, 24, 80
9, 11, 12, 14, 16, 20, 24, 81
9, 11, 12, 14, 16, 20, 24, 88
9, 11, 12, 14, 16, 20, 24, 90
9, 11, 12, 14, 16, 20, 24, 92
9, 11, 12, 14, 16, 20, 24, 99

11, 12, 14, 16, 20, 24, 35, 38
11, 12, 14, 16, 20, 24, 35, 40
11, 12, 14, 16, 20, 24, 35, 44
11, 12, 14, 16, 20, 24, 35, 50
11, 12, 14, 16, 20, 24, 35, 58
11, 12, 14, 16, 20, 24, 35, 59
11, 12, 14, 16, 20, 24, 35, 60
11, 12, 14, 16, 20, 24, 35, 68
11, 12, 14, 16, 20, 24, 35, 70
11, 12, 14, 16, 20, 24, 35, 77
11, 12, 14, 16, 20, 24, 35, 80
11, 12, 14, 16, 20, 24, 35, 81
11, 12, 14, 16, 20, 24, 35, 88
11, 12, 14, 16, 20, 24, 35, 90
11, 12, 14, 16, 20, 24, 35, 92
11, 12, 14, 16, 20, 24, 35, 99

12, 14, 16, 20, 24, 35, 38, 40
12, 14, 16, 20, 24, 35, 38, 44
12, 14, 16, 20, 24, 35, 38, 50
12, 14, 16, 20, 24, 35, 38, 58
12, 14, 16, 20, 24, 35, 38, 59
12, 14, 16, 20, 24, 35, 38, 60
12, 14, 16, 20, 24, 35, 38, 68
12, 14, 16, 20, 24, 35, 38, 70
12, 14, 16, 20, 24, 35, 38, 77
12, 14, 16, 20, 24, 35, 38, 80
12, 14, 16, 20, 24, 35, 38, 81
12, 14, 16, 20, 24, 35, 38, 88
12, 14, 16, 20, 24, 35, 38, 90
12, 14, 16, 20, 24, 35, 38, 92
12, 14, 16, 20, 24, 35, 38, 99

14, 16, 20, 24, 35, 38, 40, 44
14, 16, 20, 24, 35, 38, 40, 50
14, 16, 20, 24, 35, 38, 40, 58
14, 16, 20, 24, 35, 38, 40, 59
14, 16, 20, 24, 35, 38, 40, 60
14, 16, 20, 24, 35, 38, 40, 68
14, 16, 20, 24, 35, 38, 40, 70
14, 16, 20, 24, 35, 38, 40, 77
14, 16, 20, 24, 35, 38, 40, 80
14, 16, 20, 24, 35, 38, 40, 81
14, 16, 20, 24, 35, 38, 40, 88
14, 16, 20, 24, 35, 38, 40, 90
14, 16, 20, 24, 35, 38, 40, 92
14, 16, 20, 24, 35, 38, 40, 99

16, 20, 24, 35, 38, 40, 44, 50
16, 20, 24, 35, 38, 40, 44, 58
16, 20, 24, 35, 38, 40, 44, 59
16, 20, 24, 35, 38, 40, 44, 60
16, 20, 24, 35, 38, 40, 44, 68
16, 20, 24, 35, 38, 40, 44, 70
16, 20, 24, 35, 38, 40, 44, 77
16, 20, 24, 35, 38, 40, 44, 80
16, 20, 24, 35, 38, 40, 44, 81
16, 20, 24, 35, 38, 40, 44, 88
16, 20, 24, 35, 38, 40, 44, 90
16, 20, 24, 35, 38, 40, 44, 92
16, 20, 24, 35, 38, 40, 44, 99

20, 24, 35, 38, 40, 44, 50, 58
20, 24, 35, 38, 40, 44, 50, 59
20, 24, 35, 38, 40, 44, 50, 60
20, 24, 35, 38, 40, 44, 50, 68
20, 24, 35, 38, 40, 44, 50, 70
20, 24, 35, 38, 40, 44, 50, 77
20, 24, 35, 38, 40, 44, 50, 80
20, 24, 35, 38, 40, 44, 50, 81
20, 24, 35, 38, 40, 44, 50, 88
20, 24, 35, 38, 40, 44, 50, 90
20, 24, 35, 38, 40, 44, 50, 92
20, 24, 35, 38, 40, 44, 50, 99

24, 35, 38, 40, 44, 50, 58, 59
24, 35, 38, 40, 44, 50, 58, 60
24, 35, 38, 40, 44, 50, 58, 68
24, 35, 38, 40, 44, 50, 58, 70
24, 35, 38, 40, 44, 50, 58, 77
24, 35, 38, 40, 44, 50, 58, 80
24, 35, 38, 40, 44, 50, 58, 81
24, 35, 38, 40, 44, 50, 58, 88
24, 35, 38, 40, 44, 50, 58, 90
24, 35, 38, 40, 44, 50, 58, 92
24, 35, 38, 40, 44, 50, 58, 99

35, 38, 40, 44, 50, 58, 59, 60
35, 38, 40, 44, 50, 58, 59, 68
35, 38, 40, 44, 50, 58, 59, 70
35, 38, 40, 44, 50, 58, 59, 77
35, 38, 40, 44, 50, 58, 59, 80
35, 38, 40, 44, 50, 58, 59, 81
35, 38, 40, 44, 50, 58, 59, 88
35, 38, 40, 44, 50, 58, 59, 90
35, 38, 40, 44, 50, 58, 59, 92
35, 38, 40, 44, 50, 58, 59, 99

38, 40, 44, 50, 58, 59, 60, 68
38, 40, 44, 50, 58, 59, 60, 70
38, 40, 44, 50, 58, 59, 60, 77
38, 40, 44, 50, 58, 59, 60, 80
38, 40, 44, 50, 58, 59, 60, 81
38, 40, 44, 50, 58, 59, 60, 88
38, 40, 44, 50, 58, 59, 60, 90
38, 40, 44, 50, 58, 59, 60, 92
38, 40, 44, 50, 58, 59, 60, 99

40, 44, 50, 58, 59, 60, 68, 70
40, 44, 50, 58, 59, 60, 68, 77
40, 44, 50, 58, 59, 60, 68, 80
40, 44, 50, 58, 59, 60, 68, 81
40, 44, 50, 58, 59, 60, 68, 88
40, 44, 50, 58, 59, 60, 68, 90
40, 44, 50, 58, 59, 60, 68, 92
40, 44, 50, 58, 59, 60, 68, 99

44, 50, 58, 59, 60, 68, 70, 77
44, 50, 58, 59, 60, 68, 70, 80
44, 50, 58, 59, 60, 68, 70, 81
44, 50, 58, 59, 60, 68, 70, 88
44, 50, 58, 59, 60, 68, 70, 90
44, 50, 58, 59, 60, 68, 70, 92
44, 50, 58, 59, 60, 68, 70, 99

50, 58, 59, 60, 68, 70, 77, 80
50, 58, 59, 60, 68, 70, 77, 81
50, 58, 59, 60, 68, 70, 77, 88
50, 58, 59, 60, 68, 70, 77, 90
50, 58, 59, 60, 68, 70, 77, 92
50, 58, 59, 60, 68, 70, 77, 99

58, 59, 60, 68, 70, 77, 80, 81
58, 59, 60, 68, 70, 77, 80, 88
58, 59, 60, 68, 70, 77, 80, 90
58, 59, 60, 68, 70, 77, 80, 92
58, 59, 60, 68, 70, 77, 80, 99

59, 60, 68, 70, 77, 80, 81, 88
59, 60, 68, 70, 77, 80, 81, 90
59, 60, 68, 70, 77, 80, 81, 92
59, 60, 68, 70, 77, 80, 81, 99

60, 68, 70, 77, 80, 81, 88, 90
60, 68, 70, 77, 80, 81, 88, 92
60, 68, 70, 77, 80, 81, 88, 99

68, 70, 77, 80, 81, 88, 90, 92
68, 70, 77, 80, 81, 88, 90, 99

70, 77, 80, 81, 88, 90, 92, 99

Saludos.


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 12 Octubre 2014, 10:09 am
Gracias elektro

si funciona como queria esta genial :) ahora estoy tratando de mostrarlo en un listbox pero no me sale, ademas de que tengo que cambiar o introducir  los valores de  " constantValues" los números a mano a través de texbox pero eso creo resolverlo jejej


Código
  1. Public Class Form1
  2.  
  3.    ReadOnly constantValues As New List(Of Integer) From
  4.        {
  5.            1I, 9I, 11, 12, 14, 16, 20, 24, 35, 38,
  6.            40, 44, 50, 58, 59, 60, 68, 70, 77, 80,
  7.            81, 88, 90, 92, 99
  8.        }
  9.  
  10.    Private Shadows Sub Load() Handles MyBase.Load
  11.  
  12.        Dim combinations As New List(Of Integer())
  13.  
  14.        Dim length As Integer = 7
  15.        Dim skipStart As Integer = 0
  16.  
  17.        Do Until skipStart = (constantValues.Count - length)
  18.  
  19.            Dim values As List(Of Integer) = constantValues.GetRange(skipStart, length)
  20.            Dim count As Integer = 0
  21.  
  22.            Do Until count = (constantValues.Count - length - skipStart)
  23.  
  24.                combinations.Add(values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToArray)
  25.                Debug.WriteLine(String.Join(", ", values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToArray))
  26.  
  27.                count += 1
  28.  
  29.            Loop ' count = (constantValues.Count - length)
  30.  
  31.            skipStart += 1
  32.  
  33.        Loop ' skipStart = (constantValues.Count - length)
  34.  
  35.        ListBox1.Items.AddRange(????????.Cast(Of Object).ToArray) <-----no y no
  36.  
  37.    End Sub
  38.  
  39. End Class
  40.  


saludos
Luis


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 12 Octubre 2014, 16:28 pm
AAAA GGGG no puedo pasarlo a un listbox ? he probado con todas las variables y nada

luis


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 12 Octubre 2014, 20:08 pm
AAAA GGGG no puedo pasarlo a un listbox ? he probado con todas las variables y nada

Hace poco tuviste el mismo problema, como añadir una lista a un listbox... y te mostré la solución, de hecho se supone que ese código lo utilizaste para tu aplicación de los números así que no entiendo como puedes tener el mismo problema por segunda vez,
yo no estoy dispuesto a hacerle el trabajo a alguien para que ni me escuche ni aprenda, puedes buscar entre tus publicaciones en el foro y/o en tus códigos del pasado y hallarás la solución al problema.

Saludos


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 13 Octubre 2014, 04:44 am
Tu creees que no he estado en ello :) el ejemplo que me dices es este ,pero de verdad que no logro hacerlo andar


Código
  1. combinations.ForEach(Sub(comb As List(Of Integer))
  2.  
  3.                           ' Convierto la Lista a 'String', le añado los ceros, y añado el string formateado al Listbox.
  4.                           ListBox1.Items.Add(String.Join(", ",
  5.                                                          From value As String In comb
  6.                                                          Select If(value.Length = 1I,
  7.                                                                    value.Insert(0I, "0"c),
  8.                                                                    value)))
  9.                           ListBox1.Sorted = True



luis


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 13 Octubre 2014, 13:57 pm
Otra ves al ataque :) bien tratando con los ejemplos que me diste la otra ves y no doy pie con bola he cambiado todas las variables y nada no me aclaro cual es la que debo mostrar en el listbox


Código
  1. Dim combinations As New List(Of Integer()) <---creo esta es la que tiene las combis
  2. Dim length As Integer = 7 <----------esta es la determina las cantidad
  3. Dim skipStart As Integer = 0 <----------NPI
  4.  
  5.  
  6.  
  7. Estos son las  formas que me enseñaste
  8.  
  9. Combos.ForEach(Sub(comb As List(Of Integer))
  10.                           ListBox1.Items.Add(String.Join(", ", comb))
  11.                       End Sub)
  12.  
  13. ---------------------------------------------------------------------------
  14.  
  15.  
  16. ListBox1.Items.AddRange(
  17.            (From comb As List(Of Integer) In Combos
  18.             Select String.Join(", ", comb)).ToArray
  19.         )
  20.  
  21.  
  22.  
  23. -------------------------------------------------------------------------------------
  24.  
  25. Combos.ForEach(Sub(comb As List(Of Integer))
  26.  
  27.                           ' Convierto la Lista a 'String', le añado los ceros, y añado el string formateado al Listbox.
  28.                           ListBox1.Items.Add(String.Join(", ",
  29.                                                          From value As String In comb
  30.                                                          Select If(value.Length = 1I,
  31.                                                                    value.Insert(0I, "0"c),
  32.                                                                    value)))
  33.  
  34.                       End Sub)


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 13 Octubre 2014, 20:30 pm
En el primer código que te mostré, reemplaza esto:
Código
  1. Dim combinations As New List(Of Integer())
  2. combinations.Add(values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToArray)

por esto:
Código
  1. Dim combinations As New List(Of List(Of Integer))
  2. combinations.Add(values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToList)


Ahora, ya puedes hacer algo parecido a esto:

Código
  1. combinations.ForEach(Sub(combination As List(Of Integer))
  2.                         ListBox1.Items.Add(String.Join(", ", From value As Integer In combination
  3.                                                              Select If(value.ToString.Length = 1I,
  4.                                                                        value.ToString.Insert(0I, "0"c),
  5.                                                                        value.ToString)))
  6.                     End Sub)

Código
  1. Dim skipStart As Integer = 0 <----------NPI
Es el contador que determina la cantidad de dígitos que se deben saltar/omitir (skip) al inicio de cada combinación.

Ejemplo:

 3, 9, 11... hasta 99

 skipStart=1 (saltar el primer dígito, el "3")

 9, 11... hasta 99

Saludos


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 14 Octubre 2014, 07:39 am
Valla que facilito no   ? :)   ¡ solo me faltaban dos meses para hacerlo jejejje

funciona  ;-)

gracias elektro

Luis


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 14 Octubre 2014, 13:08 pm
Estoy uniendo esta funcion a otro programa y no me da error en programación pero cuando lo ejecuto me da este error.

" El  desplazamiento y la longitud están fuera de los límites para esta matriz o el recuento es superior al número de elementos desde el índice al final de la colección de origen. "


Código
  1.  Dim values As List(Of Integer) = constantValues.GetRange(skipStart, length)

luis


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 15 Octubre 2014, 03:40 am
" El  desplazamiento y la longitud están fuera de los límites para esta matriz o el recuento es superior al número de elementos desde el índice al final de la colección de origen. "

Te está indicando que no se puede seleccionar el rango que has especificado, porque el primer o el segundo parámetro (skipstart, length) son erroneos, esto podría ocurrir si skipstart (el desplazamiento) es mayor que la variable length ( ej: Lista.GetRange(5, 0) ) o si la variable length (la longitud) supera a la cantidad de elementos, o si la variable skipStart es un número negativo, etc...

Comprueba el valor de las variables Skipstart y Length antes de usar el método GetRange, y también comprueba la cantidad de elementos ( ej: Lista.Count )

Saludos!


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 15 Octubre 2014, 06:30 am
OK miro


luis


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 15 Octubre 2014, 10:33 am
OK miro

Intuyo que el problema debe ser la variable skipStart ya que no la reseteo a 0 en el ejemplo que te mostré... pero sin ver como es el código que estás utilizando, ni idea.

Al terminar la iteración de las combinaciones, debes resetear las variables que hayas utilizado a 0, en caso de que posteriormente las vayas a utilizar para algo...

Ejemplo:
Código
  1. Dim skipStart As Integer
  2.  
  3. Do Until skipStart...
  4. Loop
  5.  
  6. skipStart = 0


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 15 Octubre 2014, 13:48 pm
Intuyo que el problema debe ser la variable skipStart ya que no la reseteo a 0 en el ejemplo que te mostré... pero sin ver como es el código que estás utilizando, ni idea.

Al terminar la iteración de las combinaciones, debes resetear las variables que hayas utilizado a 0, en caso de que posteriormente las vayas a utilizar para algo...

Ejemplo:
Código
  1. Dim skipStart As Integer
  2.  
  3. Do Until skipStart...
  4. Loop
  5.  
  6. skipStart = 0



 De prisa y corriendo te respondo ya que el código que estoy usando es el de siempre jeje

a la noche te lo pongo mas concreto

luis


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 15 Octubre 2014, 13:49 pm
aca hago el cambio

Código
  1. Dim Resultss As IEnumerable(Of Integer) =
  2.            (
  3.                From Value As Integer
  4.                In (Result1.Concat(Result2).Concat(Result3).Concat(Result4).Concat(Result5).Concat(Result6)).Distinct
  5.                Where Value <= MAX
  6.            )
  7.  
  8.        ListBox1.Items.AddRange(Resultss.Cast(Of Object).ToArray)
  9.        ListBox1.Sorted = True
  10.  
  11.        'funcion unir combis
  12.  
  13.        Dim constantValues As IEnumerable(Of Integer) =
  14.            (
  15.                From Value As Integer
  16.                In (Result1.Concat(Result2).Concat(Result3).Concat(Result4).Concat(Result5).Concat(Result6)).Distinct
  17.                Where Value <= MAX
  18.            )


luis


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 15 Octubre 2014, 20:15 pm
Hola bueno llegando y pongo el codigo

Código
  1. Imports System.IO
  2.  
  3. Public Class Form1
  4.    Dim maximum As Short = 99
  5.    Dim Número As Double
  6.    Private TextBoxes As TextBox() = {Nothing}
  7.    Private Result1 As Int32(), Result2 As Int32(), Result3 As Int32(), Result4 As Int32(), Result5 As Int32(), Result6 As Int32()
  8.    Private _textBox As Object
  9.    ReadOnly MAX As Integer = 99
  10.    Dim Rand As New Random
  11.    Dim Rand2 As New Random
  12.    Dim Result22 As Integer
  13.    Dim Counter, Counter2 As Integer
  14.    Dim myLabelArray(6) As Label
  15.    Dim x As Integer = 0
  16.    Private Property ListBox1Count As Integer
  17.    ReadOnly Randomizer As New Random
  18.    Dim Combo As List(Of Integer) = Nothing
  19.    Dim Combos As New List(Of List(Of Integer))
  20.    Dim FixedValues As Integer() = Nothing
  21.    ReadOnly RandomValues As Integer() =
  22.        Enumerable.Range(0, 99).ToArray
  23.  
  24.  
  25.    Public Sub solonumeros(ByRef e As System.Windows.Forms.KeyPressEventArgs)
  26.        ' evitar letras
  27.        If Char.IsDigit(e.KeyChar) Then
  28.            e.Handled = False
  29.        ElseIf Char.IsControl(e.KeyChar) Then
  30.            e.Handled = False
  31.        ElseIf Char.IsSeparator(e.KeyChar) Then
  32.            e.Handled = False
  33.        Else
  34.            e.Handled = True
  35.        End If
  36.  
  37.    End Sub
  38.  
  39.    Private Property Calcular As Object
  40.  
  41.    Private Property TextBox(ByVal TextBoxCount As Short) As Object
  42.        Get
  43.            Return _textBox
  44.        End Get
  45.        Set(ByVal value As Object)
  46.            _textBox = value
  47.        End Set
  48.    End Property
  49.  
  50.    ReadOnly Property Num1 As Int32
  51.        Get
  52.            Return CInt(TextBox1.Text)
  53.        End Get
  54.    End Property
  55.    ReadOnly Property Num2 As Int32
  56.        Get
  57.            Return CInt(TextBox2.Text)
  58.        End Get
  59.    End Property
  60.    ReadOnly Property Num3 As Int32
  61.        Get
  62.            Return CInt(TextBox3.Text)
  63.        End Get
  64.    End Property
  65.    ReadOnly Property Num4 As Int32
  66.        Get
  67.            Return CInt(TextBox4.Text)
  68.        End Get
  69.    End Property
  70.  
  71.    ReadOnly Property Num5 As Int32
  72.        Get
  73.            Return CInt(TextBox5.Text)
  74.        End Get
  75.    End Property
  76.    '---------------------------------
  77.    ReadOnly Property Num6 As Int32
  78.        Get
  79.            Return CInt(TextBox6.Text)
  80.        End Get
  81.    End Property
  82.  
  83.  
  84.  
  85.    Private Sub Sumar(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
  86.        '--------------------------------------------------
  87.  
  88.        Result1 = {Num1 + 2, Num1 + 3, Num1 \ 2, Num1 \ 3, Num1 * 3} _
  89.       .Distinct().ToArray
  90.        Array.Sort(Result1)
  91.  
  92.        Result2 = {Num2 + 2, Num2 + 3, Num2 \ 2, Num2 \ 3, Num2 * 3} _
  93.                  .Distinct().ToArray
  94.        Array.Sort(Result2)
  95.  
  96.        Result3 = {Num3 + 2, Num3 + 3, Num3 - 2, Num3 - 3, Num3 * 3, Num3 \ 2, Num3 \ 2} _
  97.                  .Distinct().ToArray
  98.        Array.Sort(Result3)
  99.  
  100.        Result4 = {Num4 + 2, Num4 + 3, Num4 - 2, Num4 - 3, Num4 * 2, Num4 * 3, Num4 \ 2, Num4 \ 3} _
  101.                  .Distinct().ToArray
  102.        Array.Sort(Result4)
  103.  
  104.        Result5 = {Num5 + 2, Num5 + 3, Num5 - 3, Num5 - 10, Num5 * 3, Num5 \ 2, Num5 \ 3, Num5 \ 4} _
  105.                  .Distinct().ToArray
  106.        Array.Sort(Result5)
  107.  
  108.        Result6 = {Num6 + 2, Num6 + 3, Num6 - 2, Num6 - 3, Num6 - 7, Num6 \ 2, Num6 \ 3} _
  109.                  .Distinct().ToArray
  110.  
  111.        Array.Sort(Result6)
  112.  
  113.  
  114.  
  115.  
  116.        ' Elimino duplicados al mismo tiempo que selecciono los números inferiores a MAX.
  117.        Dim Resultss As IEnumerable(Of Integer) =
  118.            (
  119.                From Value As Integer
  120.                In (Result1.Concat(Result2).Concat(Result3).Concat(Result4).Concat(Result5).Concat(Result6)).Distinct
  121.                Where Value <= MAX
  122.            )
  123.  
  124.        ListBox1.Items.AddRange(Resultss.Cast(Of Object).ToArray)
  125.        ListBox1.Sorted = True
  126.  
  127.        'funcion unir combis
  128.  
  129.        Dim constantValues As IEnumerable(Of Integer) =
  130.            (
  131.                From Value As Integer
  132.                In (Result1.Concat(Result2).Concat(Result3).Concat(Result4).Concat(Result5).Concat(Result6)).Distinct
  133.                Where Value <= MAX
  134.            )
  135.  
  136.  
  137.  
  138.        ' Application.Exit()
  139.  
  140.    End Sub
  141.    Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
  142.        sender.text = System.Text.RegularExpressions.Regex.Replace(sender.text, "\D", "")
  143.  
  144.    End Sub
  145.  
  146.    Private Sub TextBox3_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
  147.        sender.text = System.Text.RegularExpressions.Regex.Replace(sender.text, "\D", "")
  148.    End Sub
  149.  
  150.    Private Sub TextBox4_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
  151.        sender.text = System.Text.RegularExpressions.Regex.Replace(sender.text, "\D", "")
  152.    End Sub
  153.  
  154.    Private Sub TextBox5_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
  155.        sender.text = System.Text.RegularExpressions.Regex.Replace(sender.text, "\D", "")
  156.    End Sub
  157.  
  158.    Private Sub TextBox2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
  159.        sender.text = System.Text.RegularExpressions.Regex.Replace(sender.text, "\D", "")
  160.    End Sub
  161.  
  162.  
  163.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  164.  
  165.    End Sub
  166.  
  167.    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
  168.        solonumeros(e)
  169.        If e.KeyChar = ChrW(Keys.Enter) Then
  170.            e.Handled = True
  171.            SendKeys.Send("{TAB}")
  172.        End If
  173.    End Sub
  174.  
  175.    Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
  176.        solonumeros(e)
  177.        If e.KeyChar = ChrW(Keys.Enter) Then
  178.            e.Handled = True
  179.            SendKeys.Send("{TAB}")
  180.        End If
  181.    End Sub
  182.  
  183.    Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
  184.        solonumeros(e)
  185.        If e.KeyChar = ChrW(Keys.Enter) Then
  186.            e.Handled = True
  187.            SendKeys.Send("{TAB}")
  188.        End If
  189.    End Sub
  190.  
  191.    Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress
  192.        solonumeros(e)
  193.        If e.KeyChar = ChrW(Keys.Enter) Then
  194.            e.Handled = True
  195.            SendKeys.Send("{TAB}")
  196.        End If
  197.    End Sub
  198.  
  199.    Private Sub TextBox5_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox5.KeyPress
  200.        solonumeros(e)
  201.        If e.KeyChar = ChrW(Keys.Enter) Then
  202.            e.Handled = True
  203.            SendKeys.Send("{TAB}")
  204.        End If
  205.    End Sub
  206.    Private Sub TextBox6_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox6.KeyPress
  207.        solonumeros(e)
  208.        If e.KeyChar = ChrW(Keys.Enter) Then
  209.            e.Handled = True
  210.            SendKeys.Send("{TAB}")
  211.  
  212.        End If
  213.  
  214.    End Sub
  215.  
  216.  
  217.    Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  218.        For Each obj As Control In Me.Controls
  219.            If (TypeOf obj Is TextBox) Then
  220.                obj.Text = ""
  221.            End If
  222.            If (TypeOf obj Is GroupBox) Then
  223.                For Each caja As Control In obj.Controls
  224.                    If (TypeOf caja Is TextBox) Then
  225.                        caja.Text = ""
  226.                    End If
  227.                Next
  228.            End If
  229.            ListBox1.Items.Clear()
  230.  
  231.  
  232.        Next
  233.  
  234.  
  235.    End Sub
  236.  
  237.    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  238.        Dim rutaFichero As String
  239.        Dim i As Integer
  240.  
  241.        rutaFichero = Path.Combine(Application.StartupPath, "Multiples.txt")
  242.        Dim fichero As New IO.StreamWriter(rutaFichero)
  243.        For i = 0 To ListBox1.Items.Count - 1
  244.            fichero.WriteLine(ListBox1.Items(i))
  245.        Next
  246.        fichero.Close()
  247.    End Sub
  248.  
  249.    Dim combinations As Integer
  250.    Dim seta As Integer
  251.  
  252.  
  253.  
  254.  
  255.    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
  256.        Dim constantValues As New List(Of Integer)
  257.        Dim combinations As New List(Of List(Of Integer))
  258.        Dim length As Integer = 5
  259.        Dim skipStart As Integer = 0
  260.  
  261.        Do Until skipStart = (constantValues.Count - length)
  262.  
  263.            Dim values As List(Of Integer) = constantValues.GetRange(skipStart, length)
  264.            Dim count As Integer = 0
  265.  
  266.            Do Until count = (constantValues.Count - length - skipStart)
  267.  
  268.                combinations.Add(values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToList)
  269.  
  270.                Debug.WriteLine(String.Join(", ", values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToArray))
  271.  
  272.                count += 1
  273.  
  274.            Loop ' count = (constantValues.Count - length)
  275.  
  276.            skipStart += 1
  277.            skipStart = 0
  278.        Loop ' skipStart = (constantValues.Count - length)
  279.  
  280.  
  281.        combinations.ForEach(Sub(combination As List(Of Integer))
  282.                                 ListBox1.Items.Add(String.Join(", ", From value As Integer In combination
  283.                                                                      Select If(value.ToString.Length = 1I,
  284.                                                                                value.ToString.Insert(0I, "0"c),
  285.                                                                                value.ToString)))
  286.                             End Sub)
  287.  
  288.  
  289.  
  290.    End Sub


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 15 Octubre 2014, 20:28 pm
Hola bueno llegando y pongo el codigo

Especifica el número de linea donde da error, y el error en si mismo. no se, muestra un ejemplo, o algo...

Saludos


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 15 Octubre 2014, 20:59 pm
Bien es el mismo error que puse antes

Código
  1. Dim values As List(Of Integer) = constantValues.GetRange(skipStart, length)

El desplazamiento y la longitud están fuera de los límites para esta matriz o el recuento es superior al número de elementos desde el índice al final de la colección de origen.


Excepción del tipo 'System.ArgumentException' en mscorlib.dll


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 15 Octubre 2014, 21:55 pm
En serio, Luis... ...

Piensa un poco en lo que estás haciendo, si quieres te lo digo yo... pero es que a estas alturas... como mínimo deberías poder darte cuenta tú de este fallo tan obvio y básico.

Te muestro la parte del código en conflicto:

Código
  1.        Dim constantValues As IEnumerable(Of Integer) =
  2.           (
  3.               From Value As Integer
  4.               In (Result1.Concat(Result2).Concat(Result3).Concat(Result4).Concat(Result5).Concat(Result6)).Distinct
  5.               Where Value <= MAX
  6.           )
  7.  
  8. Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
  9.  
  10.       Dim constantValues As New List(Of Integer)
  11.  
  12.       Do Until ...
  13.  
  14.           Dim values As List(Of Integer) = constantValues.GetRange(skipStart, length)
  15.  
  16.           Do Until ...
  17.  
  18.           Loop
  19.  
  20.       Loop
  21.  
  22.   End Sub

¿ Lo entiendes ?


Aparte del sin sentido que estás intentando hacer, luego está esto otro, lo cual en conjunto con el otro fallo me ha tocado un poco las narices ver esto... para ser sinceros, no me explico esta contradicción que añadiste (¿sumas el valor, y seguídamente le reasignas un cero?, ¿entonces para que sumas, si siempre será cero?):

Citar
Código
  1.       Do Until ...
  2.  
  3.           Do Until ...
  4.  
  5.           Loop
  6.  
  7.           skipStart += 1
  8.           skipStart = 0
  9.  
  10.       Loop

La instrucción 'Skipstart = 0' debe ir fuera del búcle como comenté, esto significa fuera de la anidación (fuera del bloque de los 2 búcles, debajo del todo), no fuera del primer búcle.
De todas formas directamente elimina esa modificación del 0, ya que no estás rehutilizando la variable fuera del búcle así que no tienes porque reasignarle el valor 0.

Saludos


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 18 Octubre 2014, 16:30 pm
En serio, Luis... ...

Piensa un poco en lo que estás haciendo, si quieres te lo digo yo... pero es que a estas alturas... como mínimo deberías poder darte cuenta tú de este fallo tan obvio y básico.

Te muestro la parte del código en conflicto:

Código
  1.        Dim constantValues As IEnumerable(Of Integer) =
  2.           (
  3.               From Value As Integer
  4.               In (Result1.Concat(Result2).Concat(Result3).Concat(Result4).Concat(Result5).Concat(Result6)).Distinct
  5.               Where Value <= MAX
  6.           )
  7.  
  8. Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
  9.  
  10.       Dim constantValues As New List(Of Integer)
  11.  
  12.       Do Until ...
  13.  
  14.           Dim values As List(Of Integer) = constantValues.GetRange(skipStart, length)
  15.  
  16.           Do Until ...
  17.  
  18.           Loop
  19.  
  20.       Loop
  21.  
  22.   End Sub

¿ Lo entiendes ?


Aparte del sin sentido que estás intentando hacer, luego está esto otro, lo cual en conjunto con el otro fallo me ha tocado un poco las narices ver esto... para ser sinceros, no me explico esta contradicción que añadiste (¿sumas el valor, y seguídamente le reasignas un cero?, ¿entonces para que sumas, si siempre será cero?):

La instrucción 'Skipstart = 0' debe ir fuera del búcle como comenté, esto significa fuera de la anidación (fuera del bloque de los 2 búcles, debajo del todo), no fuera del primer búcle.
De todas formas directamente elimina esa modificación del 0, ya que no estás rehutilizando la variable fuera del búcle así que no tienes porque reasignarle el valor 0.

Saludos


Sábado a programar ( bueno creo yo jejej)

si elektro fallos muy tontos pero que para mi son insondables porque antes de poner el código  probé cambiando a integer y casi me explota el PC jejeje por eso lo deje como en principio lo puse,ya que al poner integer la variable me pone que


'Count' no es un miembro de 'Integer'.   
'GetRange' no es un miembro de 'Integer'


Lo que trato es de usar los mismos datos que estan en :

Código
  1. Dim Resultss As IEnumerable(Of Integer) =
  2.            (
  3.                From Value As Integer
  4.                In (Result1.Concat(Result2).Concat(Result3).Concat(Result4).Concat(Result5).Concat(Result6)).Distinct
  5.                Where Value <= MAX
  6.            )
  7.  
  8.        ListBox1.Items.AddRange(Resultss.Cast(Of Object).ToArray)
  9.        ListBox1.Sorted = True


en :

constantValues


luis






Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 18 Octubre 2014, 18:46 pm
'Count' no es un miembro de 'Integer'.   
'GetRange' no es un miembro de 'Integer'

Será porque Integer es un DataType, no una Lista / Colección Genérica, por lo tanto no contiene esas extensiones de método...

Sin ánimo de ofender, pero ya es hora de aprender lo básico por tu cuenta para no tener que pedirlo todo hecho siempre, ¿no crees?.

Saludos


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 18 Octubre 2014, 20:01 pm
BUAAAA

No me pegues que no es mi culpa por ser tan bruto :) estoy en ello


luis


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 22 Octubre 2014, 07:51 am
Yaaaaaaa   ;D ;D ;D ;D ;D ;D ;D ;D


Código
  1. constantValues.AddRange(Resultss.ToArray())


me tenia confundido lo de "list"
luis


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros (subRangos)
Publicado por: luis456 en 22 Octubre 2014, 15:41 pm
Formar combinaciones por Subrangos


Bueno ya resuelto un problema :) ahora se me ocurre formar estas combiaciones dentro de subrangos

ya tenemos la variable " constantValues" con x numeros como siempre ocurre con mis ideas locas :)

siempre trabajo con el rango de 00 al 99 estas se subdividirian en :

subrangos

00 al 09
10 al 19
20 al 29
30 al 39
40 al 49
50 al 59
60 al 69
70 al 79
80 al 89
90 al 99

La pregunta como haria que las combinaciones no tomen mas de dos numeros de un mismo subrango ?

ejemplo

02 08 10 15 21 28 50 58... ETC


Codigo funcionando :)


Código
  1. constantValues.AddRange(Resultss.ToArray()) <-----variable con numeros con los que formamos las combinaciones
  2.  
  3.  
  4.        Dim combinations As New List(Of List(Of Integer))
  5.        Dim length As Integer = 7
  6.        Dim skipStart As Integer = 0
  7.  
  8.  
  9.        Do Until skipStart = (constantValues.Count - length)
  10.  
  11.            Dim values As List(Of Integer) = constantValues.GetRange(skipStart, length)
  12.            Dim count As Integer = 0
  13.  
  14.            Do Until count = (constantValues.Count - length - skipStart)
  15.  
  16.                combinations.Add(values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToList)
  17.  
  18.                Debug.WriteLine(String.Join(", ", values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToArray))
  19.  
  20.                count += 1
  21.  
  22.            Loop ' count = (constantValues.Count - length)
  23.  
  24.            skipStart += 1
  25.  
  26.  
  27.        Loop ' skipStart = (constantValues.Count - length)
  28.        combinations.ForEach(Sub(combination As List(Of Integer))
  29.                                 ListBox2.Items.Add(String.Join(", ", From value As Integer In combination
  30.                                                                      Select If(value.ToString.Length = 1I,
  31.                                                                                value.ToString.Insert(0I, "0"c),
  32.                                                                                value.ToString)))
  33.                             End Sub)
  34.  
  35.        ListBox2.Sorted = True





Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 22 Octubre 2014, 16:44 pm
Código
  1. Namespace LuisLibrary
  2.  
  3. Friend NotInheritable Class Group
  4.  
  5.    Protected Friend Property First As Integer = 0I
  6.    Protected Friend Property Second As Integer = 0I
  7.  
  8. End Class
  9.  
  10. End Namespace
  11.  
  12.  
  13. Dim values As New List(Of Integer) From
  14.    {
  15.        2, 8, 9, 10, 11, 15, 21, 22, 28, 50, 55, 58
  16.    }
  17.  
  18. Dim groupedValues As List(Of LuisLibrary.Group) =
  19.    (From i As Integer In values
  20.    Group By i.ToString("00").First
  21.    Into items = Group Select New LuisLibrary.Group With {
  22.        .First = items(0),
  23.        .Second = items(1)
  24.    }).ToList
  25.  
  26. For Each g As LuisLibrary.Group In groupedValues
  27.  
  28.        Dim str As String = String.Format("{0:00}, {1:00}",
  29.                                          g.First,
  30.                                          g.Second)
  31.  
  32.    MessageBox.Show(str)
  33.  
  34. Next g

...O bien:
Código
  1. ' Type anónimo
  2. Dim groupedValues =
  3.    From i As Integer In values
  4.    Group By i.ToString("00").First
  5.    Into items = Group Select New With {
  6.       Key .First = items(0),
  7.       Key .Second = items(1)
  8.    }

...O también:
Código
  1. Dim groupedValues As List(Of List(Of Integer)) =
  2.    (From i As Integer In values
  3.     Group By i.ToString("00").First Into items = Group
  4.     Select New List(Of Integer) From {items(0), items(1)}
  5.     ).ToList

Saludos.


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 22 Octubre 2014, 18:13 pm
Código
  1. Namespace LuisLibrary
  2.  
  3. Friend NotInheritable Class Group
  4.  
  5.    Protected Friend Property First As Integer = 0I
  6.    Protected Friend Property Second As Integer = 0I
  7.  
  8. End Class
  9.  
  10. End Namespace
  11.  
  12.  
  13. Dim values As New List(Of Integer) From
  14.    {
  15.        2, 8, 9, 10, 11, 15, 21, 22, 28, 50, 55, 58
  16.    }
  17.  
  18. Dim groupedValues As List(Of LuisLibrary.Group) =
  19.    (From i As Integer In values
  20.    Group By i.ToString("00").First
  21.    Into items = Group Select New LuisLibrary.Group With {
  22.        .First = items(0),
  23.        .Second = items(1)
  24.    }).ToList
  25.  
  26. For Each g As LuisLibrary.Group In groupedValues
  27.  
  28.    Dim str As String = String.Format("{0}, {1}",
  29.                                      g.First.ToString("00"),
  30.                                      g.Second.ToString("00"))
  31.  
  32.    MessageBox.Show(str)
  33.  
  34. Next g

...O bien:
Código
  1. ' Type anónimo
  2. Dim groupedValues =
  3.    From i As Integer In values
  4.    Group By i.ToString("00").First
  5.    Into items = Group Select New With {
  6.       Key .First = items(0),
  7.       Key .Second = items(1)
  8.    }

...O también:
Código
  1. Dim groupedValues As List(Of List(Of Integer)) =
  2.    (From i As Integer In values
  3.     Group By i.ToString("00").First Into items = Group
  4.     Select New List(Of Integer) From {items(0), items(1)}
  5.     ).ToList

Saludos.


AAAAA Me tendre que ahorcar para entender esto ( es broma me pongo en ello)


Luis



Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 22 Octubre 2014, 18:53 pm
Te explicaré la query de LINQ del primer ejemplo:

1) Creo grupos de los números según su primer dígito (habiendo añadido temporalmente un "0" a los números del 1 al 9), es decir, grupo de números que empiezan por 0, o por 1, 2, 3, etc.
    Cada grupo contiene todos los números de la colección que empiecen por ese primer dígito de la regla. por ejemplo el grupo del "0" contendrá { 02, 08, 09 } (el cero es imaginario)

2) Asigno los grupos a la variable/propiedad 'items'.

3) Instancio un objeto 'LuisLibrary.Group' por cada grupo, al que le asigno el primer número del grupo (items(0)) a la propiedad 'First', y el segundo número del grupo (items(1)) a la propiedad 'Second'.

4) Devuelvo una Lista de los objetos 'LuisLibrary.Group'.

Saludos


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 22 Octubre 2014, 19:35 pm
Te explicaré la query de LINQ del primer ejemplo:

1) Creo grupos de los números según su primer dígito (habiendo añadido temporalmente un "0" a los números del 1 al 9), es decir, grupo de números que empiezan por 0, o por 1, 2, 3, etc.
    Cada grupo contiene todos los números de la colección que empiecen por ese primer dígito de la regla. por ejemplo el grupo del "0" contendrá { 02, 08, 09 } (el cero es imaginario)

2) Asigno los grupos a la variable/propiedad 'items'.

3) Instancio un objeto 'LuisLibrary.Group' por cada grupo, al que le asigno el primer número del grupo (items(0)) a la propiedad 'First', y el segundo número del grupo (items(1)) a la propiedad 'Second'.

4) Devuelvo una Lista de los objetos 'LuisLibrary.Group'.

Saludos



O sea que los tres van juntos en el mismo codigo ?

luis



Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 22 Octubre 2014, 19:59 pm
¿te refieres a los 3 ejemplos que dí?... no, son 3 ejemplos distintos para conseguir practicamente lo mismo, siendo el primer ejemplo el más elaborado.

saludos.


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 23 Octubre 2014, 11:23 am
hola

estoy probando con este codigo y cuando lo ejecuto solo me muestra en el listbox

"coleccion"  ? hay que hacer mas cosas, la variabe que contiene los numeros

es " resultss" 


Código
  1.  Dim groupedValues As List(Of List(Of Integer)) =
  2.    (From i As Integer In Resultss
  3.     Group By i.ToString("00").First Into items = Group
  4.     Select New List(Of Integer) From {items(0), items(1)}
  5.     ).ToList
  6.  
  7.        ListBox3.Items.AddRange(groupedValues.Cast(Of Object).ToArray)


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 23 Octubre 2014, 17:34 pm
Luis, estoy muy harto de verte cometer el mismo fallo en el mismo punto crítico después de habertelo explicado y resuelto decenas de veces ya :-/

¿Por qué no practicas un poco todo lo referente a colecciones genéricas y LINQ?.

Código
  1.    ' Join Enumerables
  2.    ' ( By Elektro )
  3.    '
  4.    ' Examples :
  5.    '
  6.    ' Dim listA As New List(Of String) From {"a", "b"}
  7.    ' Dim listB As New List(Of String) From {"c", "d"}
  8.    ' Dim newlist As List(Of String) = JoinEnumerables(Of String)({listA, listB}).ToList ' Result: {"a", "b", "c", "d"}
  9.  
  10.    ''' <summary>
  11.    ''' Joins the specified <see cref="IEnumerable"/> colecctions into a single <see cref="IEnumerable"/>.
  12.    ''' </summary>
  13.    ''' <typeparam name="T"></typeparam>
  14.    ''' <param name="enumerables">The <see cref="IEnumerable"/> collections to join.</param>
  15.    ''' <returns>IEnumerable(Of T).</returns>
  16.    Friend Function JoinEnumerables(Of T)(ByVal enumerables As IEnumerable(Of T)()) As IEnumerable(Of T)
  17.  
  18.        Return enumerables.SelectMany(Function(enumerable As IEnumerable(Of T)) enumerable)
  19.  
  20.    End Function

Código
  1.        Dim joinedGroups As List(Of Integer) =
  2.            JoinEnumerables(Of Integer)(
  3.                           (From group As List(Of Integer) In groupedValues
  4.                            Select group).ToArray
  5.            ).ToList
  6.  
  7.        ListBox1.Items.Add(String.Join(", ", joinedGroups))
  8.  

Espero que eso te ayude a entender un poco más, aunque se que por el momento no vas a entender el parámetro de Type (T), pero bueno xD.

Saludos


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 23 Octubre 2014, 19:08 pm
Luis, estoy muy harto de verte cometer el mismo fallo en el mismo punto crítico después de habertelo explicado y resuelto decenas de veces ya :-/

¿Por qué no practicas un poco todo lo referente a colecciones genéricas y LINQ?.

Código
  1.    ' Join Enumerables
  2.    ' ( By Elektro )
  3.    '
  4.    ' Examples :
  5.    '
  6.    ' Dim listA As New List(Of String) From {"a", "b"}
  7.    ' Dim listB As New List(Of String) From {"c", "d"}
  8.    ' Dim newlist As List(Of String) = JoinEnumerables(Of String)({listA, listB}).ToList ' Result: {"a", "b", "c", "d"}
  9.  
  10.    ''' <summary>
  11.    ''' Joins the specified <see cref="IEnumerable"/> colecctions into a single <see cref="IEnumerable"/>.
  12.    ''' </summary>
  13.    ''' <typeparam name="T"></typeparam>
  14.    ''' <param name="enumerables">The <see cref="IEnumerable"/> collections to join.</param>
  15.    ''' <returns>IEnumerable(Of T).</returns>
  16.    Friend Function JoinEnumerables(Of T)(ByVal enumerables As IEnumerable(Of T)()) As IEnumerable(Of T)
  17.  
  18.        Return enumerables.SelectMany(Function(enumerable As IEnumerable(Of T)) enumerable)
  19.  
  20.    End Function

Código
  1.        Dim joinedGroups As List(Of Integer) =
  2.            JoinEnumerables(Of Integer)(
  3.                           (From group As List(Of Integer) In groupedValues
  4.                            Select group).ToArray
  5.            ).ToList
  6.  
  7.        ListBox1.Items.Add(String.Join(", ", joinedGroups))
  8.  

Espero que eso te ayude a entender un poco más, aunque se que por el momento no vas a entender el parámetro de Type (T), pero bueno xD.

Saludos


Como ya sabes voy a pasos, si me dices que hace cada cosa lo entendería mejor :) ya que tengo que ir a preguntar por todo jejej y lo que hago es enredarme mas

luis






Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 23 Octubre 2014, 19:57 pm

Como ya sabes voy a pasos, si me dices que hace cada cosa lo entendería mejor :) ya que tengo que ir a preguntar por todo jejej y lo que hago es enredarme mas

luis

A ver Luis, en el código tu tienes una lista que contiene más listas ( List(Of List(Of Integer)) ), y estás intentando mostrar/añadir la lista que contiene más listas en el Listbox, por eso te muestra "colección" y no te muestra los números, porque le estás pasando una serie de colecciones genéricas... no le estás pasando diréctamente los números, debes pasarle un String o una colección de Strings al método Add o AddRange del ListBox, ahi es donde fallas siempre, jolín :P.

La función del código de arriba ( JoinEnumerables ) simplemente lo que hace es UNIR cada List(Of Integer) de la Lista principal, en una única lista, y con el método String.Join() UNO los items de la lista para devolver un String...

Slaudos.


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 24 Octubre 2014, 14:25 pm
me explicas este error ? cada dia hay algo jejeje ,estoy probando este codigo y me dice:

" El tipo 'LuisLibrary.Group' no está definido "

Código
  1. Imports System.Text.RegularExpressions
  2.  
  3. Public Class Form1
  4.  
  5.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  6.        Dim values As New List(Of Integer) From
  7.    {
  8.        2, 8, 9, 10, 11, 15, 21, 22, 28, 50, 55, 58
  9.    }
  10.  
  11.        Dim groupedValues As List(Of Group) =
  12.            (From i As Integer In values
  13.            Group By i.ToString("00").First
  14.            Into items = Group Select New LuisLibrary.Group With {
  15.                .First = items(0),
  16.                .Second = items(1)
  17.            }).ToList
  18.  
  19.        For Each g As LuisLibrary.Group In groupedValues
  20.  
  21.            Dim str As String = String.Format("{0:00}, {1:00}",
  22.                                              g.First,
  23.                                              g.Second)
  24.  
  25.            MessageBox.Show(str)
  26.  
  27.        Next g
  28.    End Sub
  29. End Class
  30.  


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 24 Octubre 2014, 14:42 pm
" El tipo 'LuisLibrary.Group' no está definido "

Es demasiado obvio, no se puede encontrar ningún miembro que se llame 'Group' en el código, al no estar creado o no tener la visibilidad suficiente para poder acceder a él.

En el código que muestras falta la parte más importante, el NameSpace o Class 'LuisLibrary' y el miembro de Class 'Group', si no los creas entonces no existen...
no necesitas crearlos desde cero, en el primer ejemplo que te mostré ya lo hice yo, añádelo a tu código.

Saludos.


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 24 Octubre 2014, 14:59 pm
Me voy a suicidar :(


Un valor de tipo 'System.Collections.Generic.List(Of WindowsApplication1.LuisLibrary.Group)' no se puede convertir en 'System.Collections.Generic.List(Of System.Text.RegularExpressions.Group)'.

Un valor de tipo 'System.Text.RegularExpressions.Group' no se puede convertir en 'WindowsApplication1.LuisLibrary.Group'.




Código
  1. Imports System.Text.RegularExpressions
  2. Namespace LuisLibrary
  3.  
  4.    Friend NotInheritable Class Group
  5.  
  6.        Protected Friend Property First As Integer = 0I
  7.        Protected Friend Property Second As Integer = 0I
  8.  
  9.    End Class
  10.  
  11. End Namespace
  12. Public Class Form1
  13.  
  14.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  15.        Dim values As New List(Of Integer) From
  16.    {
  17.        2, 8, 9, 10, 11, 15, 21, 22, 28, 50, 55, 58
  18.    }
  19.  
  20.        Dim groupedValues As List(Of Group) =
  21.            (From i As Integer In values
  22.            Group By i.ToString("00").First
  23.            Into items = Group Select New LuisLibrary.Group With {
  24.                .First = items(0),
  25.                .Second = items(1)
  26.            }).ToList
  27.  
  28.        For Each g As LuisLibrary.Group In groupedValues
  29.  
  30.            Dim str As String = String.Format("{0:00}, {1:00}",
  31.                                              g.First,
  32.                                              g.Second)
  33.  
  34.            MessageBox.Show(str)
  35.  
  36.        Next g
  37.    End Sub
  38. End Class
  39.  

 


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 24 Octubre 2014, 15:18 pm
Un valor de tipo 'System.Collections.Generic.List(Of WindowsApplication1.LuisLibrary.Group)' no se puede convertir en 'System.Collections.Generic.List(Of System.Text.RegularExpressions.Group)'.

Un valor de tipo 'System.Text.RegularExpressions.Group' no se puede convertir en 'WindowsApplication1.LuisLibrary.Group'.

Se debe a que el nombre 'Group' es ambiguo, 'Group' existe tanto en el NameSpace 'RegularExpressions' como en el Namespace 'LuisLibrary' así que se produce un conflicto en la manera en que lo intentas usar,
tu has importado directamente en el código el namespace 'RegularExpressions' así que al escribir 'Group' se toma como referencia lo que has importado... 'RegularExpressions.Group'.

¿Solución?, especifica el nombre del Namespace ( 'LuisLibrary.Group' ) en lugar de escribir solo 'Group', o modifica el nombre de la Class 'Group' por otro más apropiado como podría ser 'Int32Group' y luego importa el namespace 'LuisLibrary'.

Reemplaza:
Citar
Código
  1. Dim groupedValues As List(Of Group) =...

Por:
Código
  1. Dim groupedValues As List(Of LuisLibrary.Group) =...

EDITO:
1) Por cierto, no quiero ver marranadas, ya me estás separando 'Luislibrary' de la Class 'Form1', crea un archivo de Class individual en el projecto y ahí copias y pegas el namespace 'LuisLibrary' y vas añadiendo tus distintas "utilidades" para usarlas en el futuro.

2) En el código que muestras no necesitas usar expresiones regulares, al menos en el código que has mostrado, si no estás seguro de porque importaste 'RegularExpressions' entonces elimina ese Import.

Saludos.


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 24 Octubre 2014, 19:20 pm

1) Por cierto, no quiero ver marranadas, ya me estás separando 'Luislibrary' de la Class 'Form1', crea un archivo de Class individual en el projecto y ahí copias y pegas el namespace 'LuisLibrary' y vas añadiendo tus distintas "utilidades" para usarlas en el futuro.


estoy en pruebas ya me haré mi archivo de rutinas :)

Saludos.


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 24 Octubre 2014, 19:45 pm
jejej de nuevo al ataque

ahora funciona y ya he probado a modificar algunas cosillas como por ejemplo el orden en

Código
  1.  .First = items(0),
  2. .Second = items(2)

lo que no entiendo es como hacer que en ves de dos,me muestre combinaciones de mas de dos números por ejemplo  " 02 09 10 15 " , ahora solo me saca en la ventana " 02 09 " y en otra  " 10 15 " y en otra  "21 28 "  etc. en una sola ventana,


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 24 Octubre 2014, 20:30 pm
lo que no entiendo es como hacer que en ves de dos,me muestre combinaciones de mas de dos números por ejemplo  " 02 09 10 15 " , ahora solo me saca en la ventana " 02 09 " y en otra  " 10 15 "


Tu tienes esto:
Código:
Lista
    · Sub-Lista
       · {2, 9}
    · Sub-Lista
       · {10, 15}

Y lo que quieres conseguir es esto (aparentemente, ya que no está muy claro lo que has dicho) :
Código:
Lista
    · {2, 9, 10, 15}


¿Qué tienes que hacer?, unir las sub-listas en una sola lista.

¿Cómo hacerlo?, puedes hacerlo con el método que te mostré, JoinEnumerables, el cual desarrollé para que realizase esa tarea en específico.


Saludos!


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 28 Octubre 2014, 10:25 am

Tu tienes esto:
Código:
Lista
    · Sub-Lista
       · {2, 9}
    · Sub-Lista
       · {10, 15}

Y lo que quieres conseguir es esto (aparentemente, ya que no está muy claro lo que has dicho) :
Código:
Lista
    · {2, 9, 10, 15}


¿Qué tienes que hacer?, unir las sub-listas en una sola lista.

¿Cómo hacerlo?, puedes hacerlo con el método que te mostré, JoinEnumerables, el cual desarrollé para que realizase esa tarea en específico.


Saludos!


Hola asta ahora no he podido ver nada ( catarrazooo)  me podrias enseñar algun ejemplo con mayores detalles :)

luis



Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 28 Octubre 2014, 18:15 pm
Hola asta ahora no he podido ver nada ( catarrazooo)  me podrias enseñar algun ejemplo con mayores detalles :)

Lo siento Luis pero considero que ya he invertido bastante tiempo en mostrarte decenas de ejemplos, no se que más mostrarte ya, no soy un prefesor, y siento que cada ejemplo que escribo no sirve para nada al final por que o bien no lo usas o no hallas el modo.

Ponte a desarrollar tu aplicación/código y si tienes alguna duda específica, pregunta, con detalles.

Saludos


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 28 Octubre 2014, 18:29 pm
Buaaaaaaaaaa


luis


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 31 Octubre 2014, 14:56 pm
Otro rollo jeje

este codigo me entrega los numeros ordenados de menor a mayor funciona bien,pero depues de modificarlo me entrega los combinaciones desordenadas,he probado con ordenar la variable y el listbox pero no se que mas ,

Código
  1. codigo original
  2.  
  3. Public Class Form1
  4.    Dim combinations As Integer
  5.    Dim seta As Integer
  6.  
  7.    ReadOnly constantValues As New List(Of Integer) From
  8.        {
  9.            2, 3, 5I, 6I, 7I, 8I, 9I,
  10. 11, 13, 14, 17, 18, 19,
  11. 20, 21, 24, 25, 26, 29,
  12. 30, 31, 33, 44, 48
  13.        }
  14.  
  15.    Private Shadows Sub Load() Handles MyBase.Load
  16.  
  17.        Dim combinations As New List(Of List(Of Integer))
  18.        Dim length As Integer = 9
  19.        Dim skipStart As Integer = 0
  20.  
  21.        Do Until skipStart = (constantValues.Count - length)
  22.  
  23.            Dim values As List(Of Integer) = constantValues.GetRange(skipStart, length)
  24.            Dim count As Integer = 0
  25.  
  26.            Do Until count = (constantValues.Count - length - skipStart)
  27.  
  28.                combinations.Add(values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToList)
  29.  
  30.                Debug.WriteLine(String.Join(", ", values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToArray))
  31.  
  32.                count += 1
  33.  
  34.            Loop ' count = (constantValues.Count - length)
  35.  
  36.            skipStart += 1
  37.  
  38.        Loop ' skipStart = (constantValues.Count - length)
  39.        combinations.ForEach(Sub(combination As List(Of Integer))
  40.                                 ListBox1.Items.Add(String.Join(", ", From value As Integer In combination
  41.                                                                      Select If(value.ToString.Length = 1I,
  42.                                                                                value.ToString.Insert(0I, "0"c),
  43.                                                                                value.ToString)))
  44.                             End Sub)
  45.  
  46.  
  47.  
  48.    End Sub
  49.  



ahora como he modificado la variable " constantValues "  por constantValues.AddRange(Resultss.ToArray()) para usar
los numeros de " resultss " y estos numeros cambian no son fijos


Código
  1. codigo modificado
  2.  
  3. Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
  4.  
  5.  
  6.        Dim combinations As New List(Of List(Of Integer))
  7.        Dim length As Integer = 9
  8.        Dim skipStart As Integer = 0
  9.  
  10.  
  11.        Do Until skipStart = (constantValues.Count - length)
  12.  
  13.            Dim values As List(Of Integer) = constantValues.GetRange(skipStart, length)
  14.            Dim count As Integer = 0
  15.  
  16.            Do Until count = (constantValues.Count - length - skipStart)
  17.  
  18.                combinations.Add(values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToList)
  19.  
  20.                '  Debug.WriteLine(String.Join(", ", values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToArray))
  21.  
  22.                count += 1
  23.  
  24.            Loop ' count = (constantValues.Count - length)
  25.  
  26.            skipStart += 1
  27.  
  28.  
  29.        Loop ' skipStart = (constantValues.Count - length)
  30.  
  31.  
  32.        combinations.ForEach(Sub(combination As List(Of Integer))
  33.                                 ListBox2.Items.Add(String.Join(", ", From value As Integer In combination
  34.                                                                      Select If(value.ToString.Length = 1I,
  35.                                                                                value.ToString.Insert(0I, "0"c),
  36.                                                                                value.ToString)))
  37.  
  38.  
  39.  
  40.                             End Sub)
  41.  
  42.  
  43. y me entrega las combinaciones desordenadas de esta forma
  44.  
  45.  
  46. 03, 05, 12, 13, 30, 08, 27, 28, 14, 26
  47. 03, 05, 12, 13, 30, 08, 27, 28, 14, 31
  48. 03, 05, 12, 13, 30, 08, 27, 28, 14, 32
  49. 03, 05, 12, 13, 30, 08, 27, 28, 14, 11
  50. 03, 05, 12, 13, 30, 08, 27, 28, 14, 17
  51. 03, 05, 12, 13, 30, 08, 27, 28, 14, 33
  52. 03, 05, 12, 13, 30, 08, 27, 28, 14, 37
  53. 03, 05, 12, 13, 30, 08, 27, 28, 14, 38
  54.  
  55.  
  56.  
  57.  


Luis






Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 31 Octubre 2014, 15:32 pm

Código
  1.        Do Until skipStart = (constantValues.Count - length)
  2.            ...
  3.            combinations.Add(values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToList)
  4.            ...
  5.        Loop
  6.  


List(Of T).Sort Method - MSDN (http://)

Nota: Es un método, no una función, por lo tanto debes asignar la lista a una variable, la ordenas utilizando el método indicado, y ya puedes agregar la lista ordenada a la colección de listas.

Saludos


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 31 Octubre 2014, 15:58 pm

List(Of T).Sort Method - MSDN (http://)

Nota: Es un método, no una función, por lo tanto debes asignar la lista a una variable, la ordenas utilizando el método indicado, y ya puedes agregar la lista ordenada a la colección de listas.

Saludos


Probando me da este error no se si te entendi bien pero te muestro el codigo

Excepción del tipo 'System.OutOfMemoryException' en System.Core.dll





Código
  1.  
  2.          ' Do Until count = (constantValues.Count - length - skipStart)
  3.            Do Until skipStart = (constantValues.Count - length)
  4.  
  5.                combinations.Add(values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToList)
  6.  
  7.                '  Debug.WriteLine(String.Join(", ", values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToArray))
  8.  
  9.                count += 1
  10.  
  11.            Loop ' count = (constantValues.Count - length)
  12.  
  13.            skipStart += 1
  14.  
  15.  
  16.        Loop ' skipStart = (constantValues.Count - length)
  17.  
  18.  
  19.        combinations.ForEach(Sub(combination As List(Of Integer))
  20.                                 ListBox2.Items.Add(String.Join(", ", From value As Integer In combination
  21.                                                                      Select If(value.ToString.Length = 1I,
  22.                                                                                value.ToString.Insert(0I, "0"c),
  23.                                                                                value.ToString)))
  24.  
  25.  
  26.  
  27.                             End Sub)



Luis


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 31 Octubre 2014, 16:57 pm
No veo que hayas hecho nada de lo que te dije en ese código.

Aparte, ¿me vas a decir en que intrucción te da el error?.

En el código que puse arriba, resalté solo 1 linea y es en la que te tienes que fijar (es la misma que está en tu código, tienes que sacarla de ahi meterla en una variable, ordenarla y luego procedes como ya expliqué), por si acaso te digo que no vayas a cambiar de posición estas lineas:
Citar
Código
  1.          ' Do Until count = (constantValues.Count - length - skipStart)
  2.           Do Until skipStart = (constantValues.Count - length)

En resumen, deja el código como lo tenias... solo tienes que asignar la lista a una variable y usar el método List.Sort... la lista la tienes en la linea que resalté en el código de mi ultimo comentario...

saludos


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: Eleкtro en 31 Octubre 2014, 17:08 pm
Me gustaría que aprendieses a hacerlo por ti mismo porque es algo muy básico, pero bueno, aquí tienes:

Código
  1. do until...
  2.  ...
  3.  dim list as list(of integer) = values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToList
  4.  list.sort()
  5.  
  6.  combinations.Add(list)
  7.  ...
  8. loop

Saludos


Título: Re: formar combinaciones de 7 y 8 numeros con 25 numeros
Publicado por: luis456 en 31 Octubre 2014, 17:48 pm
Gracias Elektro , no creas que ya no resuelvo algunas cosas por mi mismo :) y eso es gracias a ti en este lenguaje, pero aprendo muy despacio jejej y ademas cambiar de  programación a esta edad me confunde mucho


Luis