|
281
|
Programación / .NET (C#, VB.NET, ASP) / Re: formar combinaciones de 7 y 8 numeros con 25 numeros
|
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" Dim groupedValues As List(Of List(Of Integer)) = (From i As Integer In Resultss Group By i.ToString("00").First Into items = Group Select New List(Of Integer) From {items(0), items(1)} ).ToList ListBox3.Items.AddRange(groupedValues.Cast(Of Object).ToArray)
|
|
|
282
|
Programación / .NET (C#, VB.NET, ASP) / Re: formar combinaciones de 7 y 8 numeros con 25 numeros
|
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
|
|
|
283
|
Programación / .NET (C#, VB.NET, ASP) / Re: formar combinaciones de 7 y 8 numeros con 25 numeros
|
en: 22 Octubre 2014, 18:13 pm
|
Namespace LuisLibrary Friend NotInheritable Class Group Protected Friend Property First As Integer = 0I Protected Friend Property Second As Integer = 0I End Class End Namespace Dim values As New List(Of Integer) From { 2, 8, 9, 10, 11, 15, 21, 22, 28, 50, 55, 58 } Dim groupedValues As List(Of LuisLibrary.Group) = (From i As Integer In values Group By i.ToString("00").First Into items = Group Select New LuisLibrary.Group With { .First = items(0), .Second = items(1) }).ToList For Each g As LuisLibrary.Group In groupedValues Dim str As String = String.Format("{0}, {1}", g.First.ToString("00"), g.Second.ToString("00")) MessageBox.Show(str) Next g
...O bien: ' Type anónimo Dim groupedValues = From i As Integer In values Group By i.ToString("00").First Into items = Group Select New With { Key .First = items(0), Key .Second = items(1) }
...O también: Dim groupedValues As List(Of List(Of Integer)) = (From i As Integer In values Group By i.ToString("00").First Into items = Group Select New List(Of Integer) From {items(0), items(1)} ).ToList
Saludos. AAAAA Me tendre que ahorcar para entender esto ( es broma me pongo en ello) Luis
|
|
|
284
|
Programación / .NET (C#, VB.NET, ASP) / Re: formar combinaciones de 7 y 8 numeros con 25 numeros (subRangos)
|
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 constantValues.AddRange(Resultss.ToArray()) <-----variable con numeros con los que formamos las combinaciones Dim combinations As New List(Of List(Of Integer)) Dim length As Integer = 7 Dim skipStart As Integer = 0 Do Until skipStart = (constantValues.Count - length) Dim values As List(Of Integer) = constantValues.GetRange(skipStart, length) Dim count As Integer = 0 Do Until count = (constantValues.Count - length - skipStart) combinations.Add(values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToList) Debug. WriteLine(String. Join(", ", values. Concat(constantValues. Skip(skipStart + length + count ). Take(1)). ToArray)) count += 1 Loop ' count = (constantValues.Count - length) skipStart += 1 Loop ' skipStart = (constantValues.Count - length) combinations.ForEach(Sub(combination As List(Of Integer)) ListBox2.Items.Add(String.Join(", ", From value As Integer In combination Select If(value.ToString.Length = 1I, value.ToString.Insert(0I, "0"c), value.ToString))) End Sub) ListBox2.Sorted = True
|
|
|
286
|
Programación / .NET (C#, VB.NET, ASP) / Re: Trabajar con array variables
|
en: 21 Octubre 2014, 21:14 pm
|
vale tengo una variable tipo Dim xxxxalgo As IEnumerable(Of Integer)
y quiero usar los valores que tiene esta variable que entiendo es de dos bites ? en esta de abajo que a la final no me entero que es " New List " o no me aclaro Dim xxxValues As New List(Of Integer)
Como se comvierten estos datos ? luis
|
|
|
287
|
Programación / .NET (C#, VB.NET, ASP) / Trabajar con array variables
|
en: 21 Octubre 2014, 19:37 pm
|
Hola Bien he estado buscando como trabajar con variables y array convertir de integer a lo que sea pero no doy con un buen tuto ( solo para brutus ) jejej como convertir pasar de una variable a otra jejej seguro elektro si lo lee ya sabe el porque ,pero como no doy pie con bola con esto de combinar valores de una variable a otra AAA lo que quiero es saber donde ir luis
|
|
|
289
|
Programación / .NET (C#, VB.NET, ASP) / Re: formar combinaciones de 7 y 8 numeros con 25 numeros
|
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: Dim constantValues As IEnumerable(Of Integer) = ( From Value As Integer In (Result1.Concat(Result2).Concat(Result3).Concat(Result4).Concat(Result5).Concat(Result6)).Distinct Where Value <= MAX ) Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim constantValues As New List(Of Integer) Do Until ... Dim values As List(Of Integer) = constantValues.GetRange(skipStart, length) Do Until ... Loop Loop 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 : Dim Resultss As IEnumerable(Of Integer) = ( From Value As Integer In (Result1.Concat(Result2).Concat(Result3).Concat(Result4).Concat(Result5).Concat(Result6)).Distinct Where Value <= MAX ) ListBox1.Items.AddRange(Resultss.Cast(Of Object).ToArray) ListBox1.Sorted = True
en : constantValues luis
|
|
|
290
|
Programación / .NET (C#, VB.NET, ASP) / Re: formar combinaciones de 7 y 8 numeros con 25 numeros
|
en: 15 Octubre 2014, 20:59 pm
|
Bien es el mismo error que puse antes 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
|
|
|
|
|
|
|