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


 


Tema destacado: Cifrar documentos-carpetas con GnuPG en Linux y Windows


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Mis malas combinaciones :(
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] 4 5 6 Ir Abajo Respuesta Imprimir
Autor Tema: Mis malas combinaciones :(  (Leído 12,873 veces)
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.714



Ver Perfil
Re: Mis malas combinaciones :(
« Respuesta #20 en: 26 Agosto 2014, 20:32 »

lo que busco es ordenar las combinaciones que se muestran en el listbox ordenados de menor a mayor

Con esto ordenas las combinaciones de menor a mayor:
Código
  1.        Dim Sorted As List(Of List(Of Integer)) =
  2.            (From combo As List(Of Integer) In Combos
  3.             Order By Convert.ToInt64(String.Join("", combo)) Ascending).ToList

Pero eso no es suficiente, sería algo más complicado de hacer ya que las combinaciones no tienen la misma longitud, los "0" son un añadido después.

Lo mejor es que olvides eso de ordenarlas tú y dejes que el listbox ordene los items por ti:

Código
  1. ListBox1.Sorted = True



Saludos.


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


luis456


Desconectado Desconectado

Mensajes: 525



Ver Perfil
Re: Mis malas combinaciones :(
« Respuesta #21 en: 26 Agosto 2014, 20:57 »

Hola
Cuando me dices que pruebe con " ListBox1.Sorted = True " lo hice en diseño o propiedad del listbox y nada tambien lo puse en el codigo y nada


Código
  1. Combos.ForEach(Sub(comb As List(Of Integer))
  2.  
  3.                           ' Convierto la Lista a 'String', le añado los ceros, y añado el string formateado al Listbox.
  4.                           ListBox1.Items.Add(String.Join(", ",
  5.                                                          From value As String In comb
  6.                                                          Select If(value.Length = 1I,
  7.                                                                    value.Insert(0I, "0"c),
  8.                                                                    value)))
  9.                           ListBox1.Sorted = True
  10.  
  11.                       End Sub)


En línea

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

Mensajes: 9.714



Ver Perfil
Re: Mis malas combinaciones :(
« Respuesta #22 en: 26 Agosto 2014, 21:36 »

nada tambien lo puse en el codigo y nada

No se que significa "nada", Luis.

Mira la imagen de mi último comentario, están las combinaciones ordenadas de menor a mayor, ¿ves alguna diferencia entre ese "output" y el que tu obtienes?, da más detalles, si el código es el que me pasaste y no le has echo modificaciones en este rato entonces tendría que funcionar.

Con que actives la propiedad una sola vez (sea donde sea) es suficiente, sácala del foreach porque la estás activando una y otra vez, de todas formas eso no supondría un problema, pero es innecesario.

saludos
En línea


luis456


Desconectado Desconectado

Mensajes: 525



Ver Perfil
Re: Mis malas combinaciones :(
« Respuesta #23 en: 26 Agosto 2014, 22:05 »

No me sale y nada significa que no me ordena las combinaciones

Código
  1. Public Class LuisClass_v2
  2.  
  3.    ReadOnly Randomizer As New Random
  4.  
  5.    ' Num ReadOnly FixedValues As Integer() =
  6.    ' Num   Enumerable.Range(1I, 49I).ToArray ' 1 to 30
  7.  
  8.    ReadOnly FixedValues As Integer() = {1, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50}
  9.  
  10.    ReadOnly RandomValues As Integer() =
  11.        Enumerable.Range(FixedValues.First, FixedValues.Last).ToArray ' 1 to 30
  12.  
  13.    Dim Combo As List(Of Integer) = Nothing
  14.    Dim Combos As New List(Of List(Of Integer))
  15.  
  16.    Private Sub Test() Handles MyBase.Shown
  17.  
  18.        Dim IndexCounter As Integer = FixedValues.First ' 1
  19.        Dim LenCounter As Integer = 0I
  20.  
  21.        Const NumStep As Integer = 3I
  22.        Const NumLen As Integer = 10I
  23.  
  24.        Do Until IndexCounter > FixedValues.Last ' IndexCounter > 30
  25.  
  26.            Combo = New List(Of Integer)
  27.  
  28.            For Num As Integer = IndexCounter To (FixedValues.Count) Step NumStep
  29.  
  30.                LenCounter += 1I
  31.                Combo.Add(FixedValues(Num - 1I))
  32.  
  33.                If LenCounter >= NumLen Then
  34.                    Exit For
  35.                End If
  36.  
  37.            Next Num
  38.  
  39.  
  40.  
  41.            If LenCounter < NumLen Then ' If LenCounter < 10
  42.  
  43.                For RandomNum As Integer = 1I To (NumLen - LenCounter)
  44.  
  45.                    Dim n As Integer = Randomizer.Next(RandomValues.First, RandomValues.Last)
  46.  
  47.                    Do Until Not Combo.Contains(n)
  48.                        n = Randomizer.Next(RandomValues.First, RandomValues.Last)
  49.                    Loop
  50.  
  51.                    Combo.Add(n)
  52.  
  53.                Next ' RandomNum
  54.  
  55.            End If ' LenCounter < NumLen
  56.  
  57. #If DEBUG Then ' #Debug
  58.            Debug.WriteLine(String.Join(", ", Combo))
  59.            ' Stop
  60. #End If
  61.  
  62.            Combos.Add(Combo)
  63.            IndexCounter += 1I
  64.            LenCounter = 0I
  65.  
  66.        Loop ' IndexCounter >= FixedValues.Last
  67.  
  68.        ' ******** ordenamiento-------------
  69.        '  Dim values As Integer() = (From n As Integer In Combos Order By n Ascending).ToArray
  70.  
  71.        ' ********
  72.        ' Listbox:
  73.        ' ********
  74.        Combos.ForEach(Sub(comb As List(Of Integer))
  75.  
  76.                           ' Convierto la Lista a 'String', le añado los ceros, y añado el string formateado al Listbox.
  77.                           ListBox1.Items.Add(String.Join(", ",
  78.                                                          From value As String In comb
  79.                                                          Select If(value.Length = 1I,
  80.                                                                    value.Insert(0I, "0"c),
  81.                                                                    value)))
  82.                           ListBox1.Sorted = True
  83.  
  84.                       End Sub)
  85.    End Sub ' Test
  86.  
  87. End Class
En línea

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

Mensajes: 9.714



Ver Perfil
Re: Mis malas combinaciones :(
« Respuesta #24 en: 26 Agosto 2014, 22:35 »

A mi me las ordena, Luis.

Creo que tu te estás refiriendo que además de ordenar la lista que contiene las combinaciones (de menos a mayor), ¿quieres ordenar los números de cada combinacion, por separado?.

saludos
En línea


luis456


Desconectado Desconectado

Mensajes: 525



Ver Perfil
Re: Mis malas combinaciones :(
« Respuesta #25 en: 27 Agosto 2014, 05:31 »

Hola

Lo que me refiero es que cada combinación este ordenada de menor a mayor

Tomo una combinación que me da el programa y veras que esta desordenada

01 15 30 45 49 10 39 28 04 03 <-- asi me los pone el código ahora

01 03 04 10 15 28 30 39 45 49 <---asi es que quiero ordenarlos


Luis



En línea

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

Mensajes: 9.714



Ver Perfil
Re: Mis malas combinaciones :(
« Respuesta #26 en: 27 Agosto 2014, 05:50 »

Lo que me refiero es que cada combinación este ordenada de menor a mayor

Entonces, antes de añadir la combinación (Combo) a la lista de combinaciones (Combos), ordénala usando el método Sort.

Código
  1. Combo.Sort() ' <---- aquí ordeno la combinación actual.
  2.  
  3. Combos.Add(Combo) ' <---- aquí añado la combinación ordenada al resto de combinaciones.
  4.  
  5. ' y aquí sigo con el código como estaba...
  6. IndexCounter += 1I
  7. LenCounter = 0I
  8. etc...

saludos
En línea


luis456


Desconectado Desconectado

Mensajes: 525



Ver Perfil
Re: Mis malas combinaciones :(
« Respuesta #27 en: 27 Agosto 2014, 06:06 »

Listo :)    funciona como quería

Muchas gracias elektro

Luis

( nos levantamos pronto ee)
En línea

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


Desconectado Desconectado

Mensajes: 525



Ver Perfil
Re: Mis malas combinaciones :(
« Respuesta #28 en: 28 Agosto 2014, 13:11 »

Como contar cuantas combinaciones hay en el listbox ?

Buscando encontre esta rutina funciona pero lo que hace es comparar las combinaciones y decirme que solo hay una combinacion eso lo sabemos ya que el pograma no da repetidos nesecito saber cuantas hay en total.

contar y mostrar    " Combinaciones = 30 "  o la cantidad que salgan :)

codigo que encontre a alguien le puede servir para comparar registros :)

Código
  1. ' contar que no ay repetidos
  2.  
  3.    Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
  4.  
  5.        Dim query = From item As String In ListBox1.Items.Cast(Of String)() _
  6.                    Order By item _
  7.                    Group By item = item _
  8.                    Into Total = Group, Count() _
  9.                    Select Total
  10.  
  11.        Dim msg As New System.Text.StringBuilder()
  12.  
  13.        For Each item In query
  14.            msg.AppendLine(String.Format("Combinaciones {0} existen {1}", item(0), item.Count))
  15.        Next
  16.  
  17.        MessageBox.Show(msg.ToString())
  18.  
  19.    End Sub
En línea

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


Desconectado Desconectado

Mensajes: 525



Ver Perfil
Re: Mis malas combinaciones :(
« Respuesta #29 en: 28 Agosto 2014, 13:23 »

Solucionado ;)

Código
  1. Label1.Text = CStr(ListBox1.Items.Count)


luis
En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Instrucciones malas :P
Ingeniería Inversa
x64core 3 1,872 Último mensaje 7 Diciembre 2011, 16:45
por Flamer
Combinaciones con subrangos
.NET (C#, VB.NET, ASP)
luis456 1 729 Último mensaje 25 Noviembre 2014, 12:20
por Eleкtro
Usuarios de Yelp bombardean pizzería antigay con malas reseñas « 1 2 3 4 5 »
Noticias
wolfbcn 47 5,683 Último mensaje 5 Abril 2015, 03:10
por MinusFour
Mas combinaciones condicionadas
.NET (C#, VB.NET, ASP)
luis456 0 552 Último mensaje 5 Abril 2016, 11:42
por luis456
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines