elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  formar combinaciones de 7 y 8 numeros con 25 numeros
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 3 [4] 5 6 Ir Abajo Respuesta Imprimir
Autor Tema: formar combinaciones de 7 y 8 numeros con 25 numeros  (Leído 29,863 veces)
luis456


Desconectado Desconectado

Mensajes: 548



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #30 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



En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #31 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.


« Última modificación: 22 Octubre 2014, 20:37 pm por Eleкtro » En línea

luis456


Desconectado Desconectado

Mensajes: 548



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #32 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)
En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #33 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
« Última modificación: 23 Octubre 2014, 17:55 pm por Eleкtro » En línea

luis456


Desconectado Desconectado

Mensajes: 548



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #34 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




En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #35 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.
En línea

luis456


Desconectado Desconectado

Mensajes: 548



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #36 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.  
En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #37 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.
En línea

luis456


Desconectado Desconectado

Mensajes: 548



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #38 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.  

 
En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #39 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.
« Última modificación: 24 Octubre 2014, 15:33 pm por Eleкtro » En línea

Páginas: 1 2 3 [4] 5 6 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Problema] Programa para averiguar números pares entre 2 números
Programación Visual Basic
Dreamaker 3 5,649 Último mensaje 21 Mayo 2010, 23:45 pm
por Shell Root
Combinaciones con 54 numeros
.NET (C#, VB.NET, ASP)
mr_marley 3 9,267 Último mensaje 27 Noviembre 2011, 01:56 am
por mr_marley
Como saber todas las combinaciones posibles de letras y numeros?
Programación C/C++
peterfly 8 28,764 Último mensaje 15 Julio 2012, 18:26 pm
por DickGumshoe
Combinaciones letras o numeros « 1 2 »
.NET (C#, VB.NET, ASP)
luis456 11 8,457 Último mensaje 8 Febrero 2014, 11:43 am
por luis456
Combinaciones numericas por posicion con numeros guias « 1 2 3 »
.NET (C#, VB.NET, ASP)
luis456 26 18,826 Último mensaje 28 Septiembre 2014, 16:13 pm
por luis456
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines