Eliminar filtrar numeros con terminaciones iguales

Iniciado por luis456, 26 Marzo 2015, 11:53 AM

0 Miembros y 1 Visitante están viendo este tema.

luis456

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
Que tu sabiduria no sea motivo de Humillacion para los demas

Eleкtro

#1
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








luis456

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



Que tu sabiduria no sea motivo de Humillacion para los demas