Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: luis456 en 26 Marzo 2015, 11:53 AM

Título: Eliminar filtrar numeros con terminaciones iguales
Publicado por: luis456 en 26 Marzo 2015, 11:53 AM
Eliminar numeros con terminaciones iguales

Hola de nuevo aca estoy con mis chapusas en programacion :)

Formo combinaciones de numeros de un arreglo o variables pero donde el resultado no debe tener el mismo numero terminal explico :)

Código (vbnet) [Seleccionar]
Dim resultss As IEnumerable(Of Integer) =
           {
               01,03,04,06,07,08,09,20,28,35.39,45,48,55,66,68,75,78.90,98........
           }

       Dim selectedValues As IEnumerable(Of Integer) = resultss.Take(10)

       Me.ListBox1.Items.AddRange(selectedValues.Cast(Of Object).ToArray)
   End Sub


esto me da combinaciones de 10 numeros


salida

01,03,04,06,07,08,09,20,28,35

39,45,48,55,66,68,75,78.90,98

en la primera combinacion esta el 08 y el 28
en la segunda combinacion estan el  45 55 75

la idea es que en ninguna combinacion  tenga repetidos el mismo numero terminal ?

Luis
Título: Re: Eliminar filtrar numeros con terminaciones iguales
Publicado por: Eleкtro en 26 Marzo 2015, 12:30 PM
Usando LINQ, una forma de hacerlo sería agrupar los valores por su último número y seleccionar el primer elemento de cada grupo para descartar los demás valores que acaben con el mismo número:

Código (vbnet) [Seleccionar]
       Dim values As IEnumerable(Of Integer) =
                  {
                      1, 3, 4, 6, 7, 8, 9, 20, 22, 28, 35
                  }

       Dim selectedValues As IEnumerable(Of Integer) =
           From value As Integer In values
           Group By CStr(value).Last Into Group
           Select Group.First
           Take 10

       Me.ListBox1.Items.AddRange(selectedValues.Cast(Of Object).ToArray)


Output:
1, 3, 4, 6, 7, 8, 9, 20, 22, 35

Saludos
Título: Re: Eliminar filtrar numeros con terminaciones iguales
Publicado por: luis456 en 26 Marzo 2015, 18:55 PM
Cita de: Eleкtro en 26 Marzo 2015, 12:30 PM
Usando LINQ, una forma de hacerlo sería agrupar los valores por su último número y seleccionar el primer elemento de cada grupo para descartar los demás valores que acaben con el mismo número:

Código (vbnet) [Seleccionar]
       Dim values As IEnumerable(Of Integer) =
                  {
                      1, 3, 4, 6, 7, 8, 9, 20, 22, 28, 35
                  }

       Dim selectedValues As IEnumerable(Of Integer) =
           From value As Integer In values
           Group By CStr(value).Last Into Group
           Select Group.First
           Take 10

       Me.ListBox1.Items.AddRange(selectedValues.Cast(Of Object).ToArray)


Output:
1, 3, 4, 6, 7, 8, 9, 20, 22, 35

Saludos


Perfecto :)


Gracias elektro


Luis