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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Mas problemas :( filtrar o eliminar registros iguales
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: Mas problemas :( filtrar o eliminar registros iguales  (Leído 9,820 veces)
Lekim

Desconectado Desconectado

Mensajes: 268



Ver Perfil
Re: Mas problemas :( filtrar o eliminar registros iguales
« Respuesta #10 en: 25 Marzo 2016, 15:27 pm »

Chacho, por correo privado ya te contesté. ¿Dónde ves tú que aquí se repitan?

Código
  1.        Dim Elementos As IEnumerable(Of Integer) = {1, 3, 4, 5, 6}
  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)


Código:
01, 03, 04
01, 03, 05
01, 03, 06
01, 04, 05
01, 04, 06
01, 05, 06
03, 04, 05
03, 04, 06
03, 05, 06
04, 05, 06



Bueno, y está..el de 3

Lo que tengo una duda respecto a como quieres combinarlos, ya que hay muchas posibilidades. Te aconsejo, cuando preguntes aquí en el foro que especifiques bien las condiciones, más que nada para ahorrarte tener que volver a preguntar y trabajo y tiempo perdido para los demás.

POSIBILIDADES DE COMBINAR DE TRES EN TRES:
Combinarlos de modos que el segundo y el tercero de  puedan repetir
1,2,2
1,2,3
1,2,4

Igual  y que  tercero pueda ser MENOR que el segundo.
...
1, 3, 2
1, 3, 3
1, 3, 4

Que el segundo y que el tercero no puedan ser iguales
...
1, 3, 2
1, 3, 4

1, 3, 5


Que el segundo y el tercero no puedan ser iguales y el tercero no pueda ser menor que el segundo
1, 2 ,3
1, 2, 4
1, 3, 4
1, 3, 5
2, 3, 4


CÓDIGO:
OPCIÓN 1: Permite el tercero menor que el segundo y que tercero y segundo sena iguales

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 - 1 To Elementos.Count - 1
  8.                    ListBox1.Items.Add(String.Format("{0:00}, {1:00}, {2:00}", Elementos(I1), Elementos(I2), Elementos(I3)))
  9.                Next
  10.            Next
  11.        Next
  12.        MessageBox.Show("Combinaciones: " & ListBox1.Items.Count)
  13.  

OPCIÓN 2: No permite segundo y tercero sean iguales pero si que el tercero sea menor que el segundo.

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 - 1 To Elementos.Count - 1
  8.                    If Elementos(I2) <> Elementos(I3) 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)
  16.  
  17.  
  18.  

OPCIÓN 3: No permite que el segundo y el tercero sean iguales, ni tampoco que el tercero sea menor que el segundo.

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)
  16.  
  17.  

Creo que no hay errores  :silbar:

Si eso me lo cuentas

S2s



Se llaman Combinaciones SIN REPETICIÓN y en combinatoria se puede simbolizar así:

Código:
C m,n

y la fórmula para determinar el número de combinaciones:
                    m!
C m,n =  ___________
                n! · ( m-n)!


donde m! es el factorial del número total de elementos
y n un número de elementos de cada grupo

Consiste por ejemplo en realizar con un determinado grupo de elementos E={A,B,C,D,E} grupos de 3 en 3 y sin repetición. Si hay ABC, no vale BCA, ni tampoco AAA o ABB.

Si m=[A,B,C,D,E]  = 5 elementos
n= grupos de 3 en 3

                      5!
C 5,3 =  ___________ = 10 combinaciones
                3! · ( 5-3)!


Código:
ABC
ABD
ABE
ACE
.....


          
Código
  1. Dim Elementos As IEnumerable(Of Integer) = {1, 2, 3, 4, 5}
  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)


Como ves salen 10


En la primitiva te saldrían ni más ni menos que......

49!/(6!·(49 - 6)!)= 13.983.816

Ya que en la primitiva da igual 14, 5 ,25 que  5, 14 ,25. Las bolas salen en un orden pero luego se ordenan, y no pueden volver a salir repetidas porque todas están en el mismo bombo.

Como ya te dije son casi 14 millones de combinaciones... :xD



« Última modificación: 25 Marzo 2016, 16:33 pm por Lekim » En línea

luis456


Desconectado Desconectado

Mensajes: 546



Ver Perfil
Re: Mas problemas :( filtrar o eliminar registros iguales
« Respuesta #11 en: 25 Marzo 2016, 18:00 pm »

Jjejeje no se cuando aprendí hablar chino  ;D ;D ;D  我不明白的貓

A ver lekim estoy usando este código, los tuyos los tengo reservados a otros proyecto que se me ocurren por cierto me parecen estupendos ,pero estoy usando el código de Elektro este código me entrega los números a si. y

supongamos que voy a jugar a la lotería  :silbar: .como dices son no se cuantos millones de apuestas pero te equivocas en la primitiva ahora son mas millones ya ahora es 6+complementario eso te multiplica la ostia  :o

Para que necesito hacer apuestas donde los números se repiten ? estaríamos formando realmente apuestas iguales si ordenamos los números de cada linea  de menor a mayor.veremos que se repiten muchos registros por ende. es lo que quiero eliminar todos los que tienen asterisco ya que son combinaciones iguales pero en diferente orden

asi es como me entrega AHORA este codigo los resultados

20, 24, 34***
20, 24, 37
20, 34, 24***
20, 34, 37
20, 37, 24
20, 37, 34****
24, 20, 34
24, 20, 37
24, 34, 20
24, 34, 37
24, 37, 20
24, 37, 34
34, 20, 24
34, 20, 37
34, 24, 20***
34, 24, 37
34, 37, 20
34, 37, 24
37, 20, 24****
37, 20, 34
37, 24, 20
37, 24, 34
37, 34, 20
37, 34, 24


Simplemente quiero dejar números, registros o lineas únicas


Código
  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.        Dim intCol As IEnumerable(Of Integer) = {20, 24, 34, 44, 45}
  3.  
  4.        Dim pairsCol As IEnumerable(Of String) =
  5.            From value1 As Integer In intCol
  6.            From value2 As Integer In intCol
  7.            Select String.Join(Environment.NewLine, (
  8.                               From value3 As Integer In intCol
  9.                               Where (value1 <> value2) AndAlso
  10.                                     (value1 <> value3) AndAlso
  11.                                     (value2 <> value3)
  12.                               Select String.Format("{0:00}, {1:00}, {2:00}",
  13.                                                    value1, value2, value3)))
  14.  
  15.  
  16.        For Each pairs As String In pairsCol
  17.  
  18.  
  19.            For Each line As String In pairs.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries)
  20.                ' MsgBox(pairs.Count)
  21.                ' MsgBox(line1.Count)
  22.  
  23.                Me.ListBox1.Items.Add(line)
  24.  
  25.            Next line
  26.  
  27.        Next pairs


Luis


En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Lekim

Desconectado Desconectado

Mensajes: 268



Ver Perfil
Re: Mas problemas :( filtrar o eliminar registros iguales
« Respuesta #12 en: 25 Marzo 2016, 18:11 pm »

Bueno esto es como la once que le han puesto lo de los números de serie, pero en lo básico es 100000 números, luego tienes + el número de serie y todas las jodidos 'TIMOJUEGOS' que se les ocurra.

Realmente no me queda lo claro lo que quieres,  :-\. Pero mientras escribías hice este código a ver si te sirve.

Crea los seis números de la Primitiva, sin repetir y en orden de numeración con la función GetCombPrimitiva . Además crea tantas combinaciones como quieras hacer y SIN REPETIR, establecido en NumCombinaciones

Si hay algún fallo pues que alguien lo digo o lo arregle jaja

GENERADOR DE COMBINACIONES DEL LA PRIMITIVA
Código
  1. Public Class Form1
  2.  
  3.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  4.  
  5.        Dim ListaComb As New List(Of String)         '//Lista de combinaciones
  6.        Dim NumCombinaciones As Integer = 5
  7.        Dim NewComb As String
  8.        ListaComb.Clear()
  9.        For B1 As Integer = 1 To NumCombinaciones
  10.            While ListaComb.Count < NumCombinaciones
  11.                NewComb = GetCombPrimitiva()
  12.                ListaComb.Add(NewComb)
  13.                ListaComb = ListaComb.Distinct.ToList
  14.                My.Application.DoEvents()
  15.            End While
  16.        Next B1
  17.  
  18.        ListBox1.Items.Clear()
  19.        For Each Elem As String In ListaComb
  20.            ListBox1.Items.Add(Elem)
  21.        Next
  22.    End Sub
  23.  
  24.    Public Function GetCombPrimitiva() As String
  25.        Dim Bombo As New List(Of Integer)           '//Bombo para meter las bolas
  26.        Dim Fila As New List(Of Integer)            '//Fila virtual para poner las bolas en orden
  27.        Dim Combinación As String = Nothing
  28.        Dim NumRandom As New Random
  29.        '//Llena el bombo
  30.        For Bolas As Integer = 1 To 49
  31.            Bombo.Add(Bolas)
  32.        Next
  33.  
  34.        '//Extrae las bolas
  35.        For Index As Integer = 1 To 6
  36.            '//Devuelve números del 0 a 48 (49 números, Bola(0): contiene 1, Bola(1): Bolcontiene 2 ...)
  37.            Dim Bola As Integer = NumRandom.Next(0, Bombo.Count)
  38.            '//Mete la bola en la "fila"
  39.            Fila.Add(Bombo(Bola))
  40.            '//Quita la bola obtenida del bombo
  41.            Bombo.RemoveAt(Bola)
  42.        Next
  43.        Fila.Sort() 'Ordena la fila de bolas
  44.        For Each Bola As Integer In Fila
  45.            Combinación += String.Format("{0:00} ", Bola)
  46.        Next
  47.        Return Combinación
  48.    End Function
  49.  
  50. End Class


Por cierto que si Elektro no te lo ha resuelto ya es que no se puede  :xD

Además que lo que pides ya lo he puesto yo, creo , pero tu te has empeñado en usar este código:

Código
  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.        Dim intCol As IEnumerable(Of Integer) = {20, 24, 34, 44, 45}
  3.  
  4.        Dim pairsCol As IEnumerable(Of String) =
  5.            From value1 As Integer In intCol
  6.            From value2 As Integer In intCol
  7.            Select String.Join(Environment.NewLine, (
  8.                               From value3 As Integer In intCol
  9.                               Where (value1 <> value2) AndAlso
  10.                                     (value1 <> value3) AndAlso
  11.                                     (value2 <> value3)
  12.                               Select String.Format("{0:00}, {1:00}, {2:00}",
  13.                                                    value1, value2, value3)))
  14.  
  15.  
  16.        For Each pairs As String In pairsCol
  17.  
  18.  
  19.            For Each line As String In pairs.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries)
  20.                ' MsgBox(pairs.Count)
  21.                ' MsgBox(line1.Count)
  22.  
  23.                Me.ListBox1.Items.Add(line)
  24.  
  25.            Next line
  26.  
  27.        Next pairs

y quieres quitar repeticiones... este código ya está hecho para crear las combinaciones así, tendrías que cambiar las condiciones o añadir más código para ir leyendo línea tras línea y comprando para ir eliminado, un rollo  :-X

Sinceramente, no se como hacerlo usando ese código  :¬¬. Yo ta te lo hice. Parece que hablo chino yo jaja. Hasta he dado clases de combinatoria que más quieres XD
« Última modificación: 26 Marzo 2016, 08:17 am por Lekim » En línea

luis456


Desconectado Desconectado

Mensajes: 546



Ver Perfil
Re: Mas problemas :( filtrar o eliminar registros iguales
« Respuesta #13 en: 25 Marzo 2016, 18:26 pm »

Joder estas empeñado con lo imposible jejej

Sinceramente, no se como hacerlo usando ese código  :¬¬. Yo ta te lo hice. Parece que hablo chino yo jaja. Hasta he dado clases de combinatoria que más quieres XD

Si lo que nesecito no es modificar el codigo. es eliminar en el listbox los numeros o lineas repetidas ........como ufff se me seca la lengua jajajja no me interesa modificar el codigo

voy corriendo a probar este codigo de la primi  a ver si tengo mas suerte que aca JAJAJJA

gracias :) por tu paciencia

Luis 
En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Lekim

Desconectado Desconectado

Mensajes: 268



Ver Perfil
Re: Mas problemas :( filtrar o eliminar registros iguales
« Respuesta #14 en: 25 Marzo 2016, 18:29 pm »


Si lo que nesecito no es modificar el codigo. es eliminar en el listbox los numeros o lineas repetidas ........como ufff se me seca la lengua jajajja no me interesa modificar el codigo

gracias :) por tu paciencia

Luis  

ahí está compi, para hacer eso cambias el código o usas el que ya te di uno usando For Next o añades más còdigo para quitar las repeticones lo cual es un royo. Por eso te digo que si yo ya he puesto un código que hace esto mismo porque te empeñas en usar este XD
« Última modificación: 25 Marzo 2016, 18:31 pm por Lekim » En línea

luis456


Desconectado Desconectado

Mensajes: 546



Ver Perfil
Re: Mas problemas :( filtrar o eliminar registros iguales
« Respuesta #15 en: 25 Marzo 2016, 18:40 pm »

ahí está compi, para hacer eso cambias el código o usas el que ya te di uno usando For Next o añades más còdigo para quitar las repeticones lo cual es un royo. Por eso te digo que si yo ya he puesto un código que hace esto mismo porque te empeñas en usar este XD

Ya puse tu codigo de la primitiva a rular a ver si ganamos jejejje   ;-) ,bueno en serio ,olvidate del codigo, solo imagina que tenemos el listbox y hay que eliminar como comento tan dificil es ???

Luis
En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Lekim

Desconectado Desconectado

Mensajes: 268



Ver Perfil
Re: Mas problemas :( filtrar o eliminar registros iguales
« Respuesta #16 en: 25 Marzo 2016, 19:01 pm »

Amos a ver

¿Y esto que es lo que hace?

Código
  1.        Dim Elementos As IEnumerable(Of Integer) = {20, 24, 34, 44, 45}
  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)


20, 24, 34
20, 24, 44
20, 24, 45
20, 34, 44
20, 34, 45
20, 44, 45
24, 34, 44
24, 34, 45
24, 44, 45
34, 44, 45

madre miaaaa!!!!!



El de la primitiva tenía un fallo, no salía el 49, ya lo he arreglado  :-[



El de la primitiva modificando un poco también hace LO MISMO

Código
  1. Public Class Form1
  2.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  3.        Dim ListaComb As New List(Of String)         '//Lista de combinaciones
  4.        Dim NumCombinaciones As Integer = 10 '<---OJO EN ESTE CASO SOLO LO MAXÍMO SON 10
  5.        Dim NewComb As String
  6.        ListaComb.Clear()
  7.  
  8.        For B1 As Integer = 1 To NumCombinaciones
  9.            While ListaComb.Count < NumCombinaciones
  10.                NewComb = GetCombPrimitiva()
  11.                ListaComb.Add(NewComb)
  12.                ListaComb = ListaComb.Distinct.ToList
  13.                My.Application.DoEvents()
  14.            End While
  15.        Next B1
  16.        ListaComb.Sort()
  17.        ListBox1.Items.Clear()
  18.        For Each Elem As String In ListaComb
  19.            ListBox1.Items.Add(Elem)
  20.        Next
  21.  
  22.    End Sub
  23.    Public Function GetCombPrimitiva() As String
  24.        Dim MisBolas() As String = {20, 24, 34, 44, 45}
  25.        Dim Bombo As New List(Of Integer)           '//Bombo para meter las bolas
  26.        Dim Fila As New List(Of Integer)            '//Fila virtual para poner las bolas en orden
  27.        Dim Combinación As String = Nothing
  28.        Dim NumRandom As New Random
  29.        '//Llena el bombo
  30.        For Index As Integer = 0 To MisBolas.Count - 1
  31.            Bombo.Add(MisBolas(Index))
  32.        Next
  33.  
  34.        '//Extrae las bolas
  35.        For Index As Integer = 1 To 3
  36.            '//Devuelve números del 0 a 48 (49 números, Bola(0): contiene 1, Bola(1): Bolcontiene 2 ...)
  37.            Dim Bola As Integer = NumRandom.Next(0, Bombo.Count)
  38.            '//Mete la bola en la "fila"
  39.            Fila.Add(Bombo(Bola))
  40.            '//Quita la bola obtenida del bombo
  41.            Bombo.RemoveAt(Bola)
  42.        Next
  43.        Fila.Sort() 'Ordena la fila de bolas
  44.        For Each Bola As Integer In Fila
  45.            Combinación += String.Format("{0:00} ", Bola)
  46.        Next
  47.        Return Combinación
  48.    End Function
  49.  
  50.  
  51. End Class
  52.  

Pero OJO con el valor que pones a NumCombinaciones , pues lo máximo que debes poner es el máximo que permite las condiciones que en este caso son :

C5,3= 5!/(3!·(5-3)!) = 10 combinaciones
« Última modificación: 26 Marzo 2016, 08:20 am por Lekim » En línea

luis456


Desconectado Desconectado

Mensajes: 546



Ver Perfil
Re: Mas problemas :( filtrar o eliminar registros iguales
« Respuesta #17 en: 25 Marzo 2016, 19:27 pm »

Amos a ver

¿Y esto que es lo que hace?

Código
  1.        Dim Elementos As IEnumerable(Of Integer) = {20, 24, 34, 44, 45}
  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)


20, 24, 34
20, 24, 44
20, 24, 45
20, 34, 44
20, 34, 45
20, 44, 45
24, 34, 44
24, 34, 45
24, 44, 45
34, 44, 45

madre miaaaa!!!!!

A ver jejej en que parte empiezo hablar chino jajja no en serio ,se que te pica la curiosidad  :silbar: para ordenarlos lo puedo hacer a mano ademas tengo que mirar si este codigo hace exactamente que lo de elektro y por favor no te ofendas jejje no es que sea mejor o peor, es que tengo metida entre ceja y ceja una idea y yo soy muy "TERCO · lo Reconozco .solo quiero trabajar con el listbox despues que este cargado con el otro codigo, pero ahora mismo voy a compararlos ya te dire que hace jejejje solo mira bien y tienes que darte cuenta que es lo que hace y ya te lo dire pero con pruebas :)

Luis




En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Lekim

Desconectado Desconectado

Mensajes: 268



Ver Perfil
Re: Mas problemas :( filtrar o eliminar registros iguales
« Respuesta #18 en: 25 Marzo 2016, 19:34 pm »

joer

El código de elektro te hace esto;

Código:
20, 24, 34
20, 24, 44
20, 24, 45
20, 34, 24
20, 34, 44
20, 34, 45
20, 44, 24
20, 44, 34
20, 44, 45
20, 45, 24
20, 45, 34
20, 45, 44
24, 20, 34
24, 20, 44
24, 20, 45
24, 34, 20
24, 34, 44
24, 34, 45
24, 44, 20
24, 44, 34
24, 44, 45
24, 45, 20
24, 45, 34
24, 45, 44
34, 20, 24
34, 20, 44
34, 20, 45
34, 24, 20
34, 24, 44
34, 24, 45
34, 44, 20
34, 44, 24
34, 44, 45
34, 45, 20
34, 45, 24
34, 45, 44
44, 20, 24
44, 20, 34
44, 20, 45
44, 24, 20
44, 24, 34
44, 24, 45
44, 34, 20
44, 34, 24
44, 34, 45
44, 45, 20
44, 45, 24
44, 45, 34
45, 20, 24
45, 20, 34
45, 20, 44
45, 24, 20
45, 24, 34
45, 24, 44
45, 34, 20
45, 34, 24
45, 34, 44
45, 44, 20
45, 44, 24
45, 44, 34

y tu quieres quitar repeticiones de modo que si pone ABC , ni otro ABC, ni  ponga BCA o BAC, esto REPIIIIITOOOOOO son COMBINACIONES SIN REPETICION y al final te queda esto:

Código:
20, 24, 34
20, 24, 44
20, 24, 45
20, 34, 44
20, 34, 45
20, 44, 45
24, 34, 44
24, 34, 45
24, 44, 45
34, 44, 45

Que es lo que hace mi código ¿Cual es el problema? Quien entienda que te compre ajajja.
En línea

luis456


Desconectado Desconectado

Mensajes: 546



Ver Perfil
Re: Mas problemas :( filtrar o eliminar registros iguales
« Respuesta #19 en: 25 Marzo 2016, 19:49 pm »

 Hola cara de japones jejej es broma yo me tomo todo en broma ya con mi edad no se puede andar enfadado, mira como lo llevo ponlo a rular y dime que tal va :)

Código
  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.        Dim Elementos As IEnumerable(Of Integer) = {2, 6, 10, 11, 17, 20, 24, 34, 38, 39, 40, 41, 41, 42, 43, 44, 45, 46, 47, 50}
  3.        Dim EleX As Integer = 0
  4.        Dim EleX2 As Integer = 0
  5.        ListBox1.Items.Clear() 'Limpia el ListBox
  6.        For I1 As Integer = 0 To Elementos.Count - 1 : EleX += 1
  7.            For I2 As Integer = EleX To Elementos.Count - 1
  8.                For I3 As Integer = EleX To Elementos.Count - 1
  9.                    If Elementos(I2) <> Elementos(I3) And Elementos(I3) > Elementos(I2) Then
  10.                        ListBox1.Items.Add(String.Format("{0:00}, {1:00}, {2:00}", Elementos(I1), Elementos(I2), Elementos(I3)))
  11.                    End If
  12.  
  13.                Next
  14.            Next
  15.        Next
  16.        MessageBox.Show("Combinaciones: " & ListBox1.Items.Count)
  17.    End Sub
  18.  
  19.    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  20.        Dim list As New List(Of String)
  21.        Dim i As Integer
  22.  
  23.        For i = 0 To ListBox1.Items.Count - 1
  24.            list.Add(ListBox1.Items(i))
  25.        Next i
  26.  
  27.        ListBox1.Items.Clear()
  28.  
  29.        For Each s As String In list.Distinct
  30.            ListBox1.Items.Add(s)
  31.        Next
  32.    End Sub


y si resta o no resta después de aplicar el filtro habra que poner un count despues de aplicar el filtro

espero
Luis


En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Eliminar valores(option) iguales entre combobox
Desarrollo Web
CWeeD 1 3,480 Último mensaje 11 Febrero 2011, 02:14 am
por Nakp
Eliminar registros repetidos dejando 1
Bases de Datos
Shell Root 2 2,381 Último mensaje 20 Septiembre 2013, 05:11 am
por Shell Root
eliminar registros con ceros
.NET (C#, VB.NET, ASP)
luis456 5 2,592 Último mensaje 12 Noviembre 2014, 12:35 pm
por luis456
Eliminar filtrar numeros con terminaciones iguales
.NET (C#, VB.NET, ASP)
luis456 2 1,820 Último mensaje 26 Marzo 2015, 18:55 pm
por luis456
Eliminar registros iguales condicionados :(
.NET (C#, VB.NET, ASP)
luis456 4 1,168 Último mensaje 23 Marzo 2020, 15:49 pm
por luis456
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines