Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: luis456 en 5 Abril 2016, 11:42 am



Título: Mas combinaciones condicionadas
Publicado por: luis456 en 5 Abril 2016, 11:42 am
Hola de nuevo

Bien sigo con mis rollos sobre combinatorias  >:D me cuesta jejeje

Bueno tengo este codigo

Código
  1. Dim Elementos As IEnumerable(Of Integer) = {1, 3, 4, 5, 8, 13, 34, 55, 84, 99}
  2.        Dim EleX As Integer = 0
  3.        Dim EleX2 As Integer = 0
  4.        ListBox1.Items.Clear() 'Limpia el ListBox
  5.        For I1 As Integer = 0 To Elementos.Count - 1 : EleX += 1
  6.            For I2 As Integer = EleX To Elementos.Count - 1
  7.                For I3 As Integer = EleX To Elementos.Count - 1
  8.                    If Elementos(I2) <> Elementos(I3) And Elementos(I3) > Elementos(I2) Then
  9.                        ListBox1.Items.Add(String.Format("{0:00}, {1:00}, {2:00}", Elementos(I1), Elementos(I2), Elementos(I3)))
  10.                    End If
  11.  
  12.                Next
  13.            Next
  14.        Next
  15.        MessageBox.Show("Combinaciones: " & ListBox1.Items.Count)


esto me entrega los siguientes resultados (pongo solo algunos ya que son 55)


01 03 04
01 03 05
01 03 08
01 03 13 ********* 03 y 13
01 04 34 *********04  y 34
03 05 08
03 05 13 *********03 y 13

lo que quiero es eliminar los que tengan la misma terminación ejemplo los que marco con asterisco llevan dos números donde son iguales la terminación.

Con linq: ya lo tengo Hecho pero necesito saber como hacerlo con este método :)

ejemplo en Liq: por si le sirve a alguien ( Funciona )

 
Código
  1. Dim Bz986 As IEnumerable(Of Integer) =
  2. (
  3. From Value As Integer In split(12).Concat(split(15).Concat(split(16)))
  4. Where (Value <= MAX AndAlso Value > 0)).Distinct
  5.  
  6.         Dim selectedValues11 As IEnumerable(Of Integer) =
  7.          From value As Integer In Bz909
  8.          Group By CStr(value).Last Into Group
  9.         Select Group.First()
  10.         Take(16())
  11.        Dim Sl986 As IEnumerable(Of Integer) = Bz986
  12.        Dim SM986 As List(Of Integer) = Bz986.Take(16).ToList
  13.        SM986.Sort()


Luis