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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


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

Mensajes: 9.788



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #10 en: 13 Octubre 2014, 20:30 pm »

En el primer código que te mostré, reemplaza esto:
Código
  1. Dim combinations As New List(Of Integer())
  2. combinations.Add(values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToArray)

por esto:
Código
  1. Dim combinations As New List(Of List(Of Integer))
  2. combinations.Add(values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToList)


Ahora, ya puedes hacer algo parecido a esto:

Código
  1. combinations.ForEach(Sub(combination As List(Of Integer))
  2.                         ListBox1.Items.Add(String.Join(", ", From value As Integer In combination
  3.                                                              Select If(value.ToString.Length = 1I,
  4.                                                                        value.ToString.Insert(0I, "0"c),
  5.                                                                        value.ToString)))
  6.                     End Sub)

Código
  1. Dim skipStart As Integer = 0 <----------NPI
Es el contador que determina la cantidad de dígitos que se deben saltar/omitir (skip) al inicio de cada combinación.

Ejemplo:

 3, 9, 11... hasta 99

 skipStart=1 (saltar el primer dígito, el "3")

 9, 11... hasta 99

Saludos


« Última modificación: 13 Octubre 2014, 20:35 pm por Eleкtro » En línea

luis456


Desconectado Desconectado

Mensajes: 548



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #11 en: 14 Octubre 2014, 07:39 am »

Valla que facilito no   ? :)   ¡ solo me faltaban dos meses para hacerlo jejejje

funciona  ;-)

gracias elektro

Luis


En línea

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


Desconectado Desconectado

Mensajes: 548



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #12 en: 14 Octubre 2014, 13:08 pm »

Estoy uniendo esta funcion a otro programa y no me da error en programación pero cuando lo ejecuto me da este error.

" El  desplazamiento y la longitud están fuera de los límites para esta matriz o el recuento es superior al número de elementos desde el índice al final de la colección de origen. "


Código
  1.  Dim values As List(Of Integer) = constantValues.GetRange(skipStart, length)

luis
En línea

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

Mensajes: 9.788



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #13 en: 15 Octubre 2014, 03:40 am »

" El  desplazamiento y la longitud están fuera de los límites para esta matriz o el recuento es superior al número de elementos desde el índice al final de la colección de origen. "

Te está indicando que no se puede seleccionar el rango que has especificado, porque el primer o el segundo parámetro (skipstart, length) son erroneos, esto podría ocurrir si skipstart (el desplazamiento) es mayor que la variable length ( ej: Lista.GetRange(5, 0) ) o si la variable length (la longitud) supera a la cantidad de elementos, o si la variable skipStart es un número negativo, etc...

Comprueba el valor de las variables Skipstart y Length antes de usar el método GetRange, y también comprueba la cantidad de elementos ( ej: Lista.Count )

Saludos!
« Última modificación: 15 Octubre 2014, 03:44 am por Eleкtro » En línea

luis456


Desconectado Desconectado

Mensajes: 548



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #14 en: 15 Octubre 2014, 06:30 am »

OK miro


luis
En línea

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

Mensajes: 9.788



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #15 en: 15 Octubre 2014, 10:33 am »

OK miro

Intuyo que el problema debe ser la variable skipStart ya que no la reseteo a 0 en el ejemplo que te mostré... pero sin ver como es el código que estás utilizando, ni idea.

Al terminar la iteración de las combinaciones, debes resetear las variables que hayas utilizado a 0, en caso de que posteriormente las vayas a utilizar para algo...

Ejemplo:
Código
  1. Dim skipStart As Integer
  2.  
  3. Do Until skipStart...
  4. Loop
  5.  
  6. skipStart = 0
« Última modificación: 15 Octubre 2014, 10:43 am por Eleкtro » En línea

luis456


Desconectado Desconectado

Mensajes: 548



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #16 en: 15 Octubre 2014, 13:48 pm »

Intuyo que el problema debe ser la variable skipStart ya que no la reseteo a 0 en el ejemplo que te mostré... pero sin ver como es el código que estás utilizando, ni idea.

Al terminar la iteración de las combinaciones, debes resetear las variables que hayas utilizado a 0, en caso de que posteriormente las vayas a utilizar para algo...

Ejemplo:
Código
  1. Dim skipStart As Integer
  2.  
  3. Do Until skipStart...
  4. Loop
  5.  
  6. skipStart = 0



 De prisa y corriendo te respondo ya que el código que estoy usando es el de siempre jeje

a la noche te lo pongo mas concreto

luis
En línea

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


Desconectado Desconectado

Mensajes: 548



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #17 en: 15 Octubre 2014, 13:49 pm »

aca hago el cambio

Código
  1. Dim Resultss As IEnumerable(Of Integer) =
  2.            (
  3.                From Value As Integer
  4.                In (Result1.Concat(Result2).Concat(Result3).Concat(Result4).Concat(Result5).Concat(Result6)).Distinct
  5.                Where Value <= MAX
  6.            )
  7.  
  8.        ListBox1.Items.AddRange(Resultss.Cast(Of Object).ToArray)
  9.        ListBox1.Sorted = True
  10.  
  11.        'funcion unir combis
  12.  
  13.        Dim constantValues As IEnumerable(Of Integer) =
  14.            (
  15.                From Value As Integer
  16.                In (Result1.Concat(Result2).Concat(Result3).Concat(Result4).Concat(Result5).Concat(Result6)).Distinct
  17.                Where Value <= MAX
  18.            )


luis
En línea

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


Desconectado Desconectado

Mensajes: 548



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #18 en: 15 Octubre 2014, 20:15 pm »

Hola bueno llegando y pongo el codigo

Código
  1. Imports System.IO
  2.  
  3. Public Class Form1
  4.    Dim maximum As Short = 99
  5.    Dim Número As Double
  6.    Private TextBoxes As TextBox() = {Nothing}
  7.    Private Result1 As Int32(), Result2 As Int32(), Result3 As Int32(), Result4 As Int32(), Result5 As Int32(), Result6 As Int32()
  8.    Private _textBox As Object
  9.    ReadOnly MAX As Integer = 99
  10.    Dim Rand As New Random
  11.    Dim Rand2 As New Random
  12.    Dim Result22 As Integer
  13.    Dim Counter, Counter2 As Integer
  14.    Dim myLabelArray(6) As Label
  15.    Dim x As Integer = 0
  16.    Private Property ListBox1Count As Integer
  17.    ReadOnly Randomizer As New Random
  18.    Dim Combo As List(Of Integer) = Nothing
  19.    Dim Combos As New List(Of List(Of Integer))
  20.    Dim FixedValues As Integer() = Nothing
  21.    ReadOnly RandomValues As Integer() =
  22.        Enumerable.Range(0, 99).ToArray
  23.  
  24.  
  25.    Public Sub solonumeros(ByRef e As System.Windows.Forms.KeyPressEventArgs)
  26.        ' evitar letras
  27.        If Char.IsDigit(e.KeyChar) Then
  28.            e.Handled = False
  29.        ElseIf Char.IsControl(e.KeyChar) Then
  30.            e.Handled = False
  31.        ElseIf Char.IsSeparator(e.KeyChar) Then
  32.            e.Handled = False
  33.        Else
  34.            e.Handled = True
  35.        End If
  36.  
  37.    End Sub
  38.  
  39.    Private Property Calcular As Object
  40.  
  41.    Private Property TextBox(ByVal TextBoxCount As Short) As Object
  42.        Get
  43.            Return _textBox
  44.        End Get
  45.        Set(ByVal value As Object)
  46.            _textBox = value
  47.        End Set
  48.    End Property
  49.  
  50.    ReadOnly Property Num1 As Int32
  51.        Get
  52.            Return CInt(TextBox1.Text)
  53.        End Get
  54.    End Property
  55.    ReadOnly Property Num2 As Int32
  56.        Get
  57.            Return CInt(TextBox2.Text)
  58.        End Get
  59.    End Property
  60.    ReadOnly Property Num3 As Int32
  61.        Get
  62.            Return CInt(TextBox3.Text)
  63.        End Get
  64.    End Property
  65.    ReadOnly Property Num4 As Int32
  66.        Get
  67.            Return CInt(TextBox4.Text)
  68.        End Get
  69.    End Property
  70.  
  71.    ReadOnly Property Num5 As Int32
  72.        Get
  73.            Return CInt(TextBox5.Text)
  74.        End Get
  75.    End Property
  76.    '---------------------------------
  77.    ReadOnly Property Num6 As Int32
  78.        Get
  79.            Return CInt(TextBox6.Text)
  80.        End Get
  81.    End Property
  82.  
  83.  
  84.  
  85.    Private Sub Sumar(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
  86.        '--------------------------------------------------
  87.  
  88.        Result1 = {Num1 + 2, Num1 + 3, Num1 \ 2, Num1 \ 3, Num1 * 3} _
  89.       .Distinct().ToArray
  90.        Array.Sort(Result1)
  91.  
  92.        Result2 = {Num2 + 2, Num2 + 3, Num2 \ 2, Num2 \ 3, Num2 * 3} _
  93.                  .Distinct().ToArray
  94.        Array.Sort(Result2)
  95.  
  96.        Result3 = {Num3 + 2, Num3 + 3, Num3 - 2, Num3 - 3, Num3 * 3, Num3 \ 2, Num3 \ 2} _
  97.                  .Distinct().ToArray
  98.        Array.Sort(Result3)
  99.  
  100.        Result4 = {Num4 + 2, Num4 + 3, Num4 - 2, Num4 - 3, Num4 * 2, Num4 * 3, Num4 \ 2, Num4 \ 3} _
  101.                  .Distinct().ToArray
  102.        Array.Sort(Result4)
  103.  
  104.        Result5 = {Num5 + 2, Num5 + 3, Num5 - 3, Num5 - 10, Num5 * 3, Num5 \ 2, Num5 \ 3, Num5 \ 4} _
  105.                  .Distinct().ToArray
  106.        Array.Sort(Result5)
  107.  
  108.        Result6 = {Num6 + 2, Num6 + 3, Num6 - 2, Num6 - 3, Num6 - 7, Num6 \ 2, Num6 \ 3} _
  109.                  .Distinct().ToArray
  110.  
  111.        Array.Sort(Result6)
  112.  
  113.  
  114.  
  115.  
  116.        ' Elimino duplicados al mismo tiempo que selecciono los números inferiores a MAX.
  117.        Dim Resultss As IEnumerable(Of Integer) =
  118.            (
  119.                From Value As Integer
  120.                In (Result1.Concat(Result2).Concat(Result3).Concat(Result4).Concat(Result5).Concat(Result6)).Distinct
  121.                Where Value <= MAX
  122.            )
  123.  
  124.        ListBox1.Items.AddRange(Resultss.Cast(Of Object).ToArray)
  125.        ListBox1.Sorted = True
  126.  
  127.        'funcion unir combis
  128.  
  129.        Dim constantValues As IEnumerable(Of Integer) =
  130.            (
  131.                From Value As Integer
  132.                In (Result1.Concat(Result2).Concat(Result3).Concat(Result4).Concat(Result5).Concat(Result6)).Distinct
  133.                Where Value <= MAX
  134.            )
  135.  
  136.  
  137.  
  138.        ' Application.Exit()
  139.  
  140.    End Sub
  141.    Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
  142.        sender.text = System.Text.RegularExpressions.Regex.Replace(sender.text, "\D", "")
  143.  
  144.    End Sub
  145.  
  146.    Private Sub TextBox3_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
  147.        sender.text = System.Text.RegularExpressions.Regex.Replace(sender.text, "\D", "")
  148.    End Sub
  149.  
  150.    Private Sub TextBox4_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
  151.        sender.text = System.Text.RegularExpressions.Regex.Replace(sender.text, "\D", "")
  152.    End Sub
  153.  
  154.    Private Sub TextBox5_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
  155.        sender.text = System.Text.RegularExpressions.Regex.Replace(sender.text, "\D", "")
  156.    End Sub
  157.  
  158.    Private Sub TextBox2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
  159.        sender.text = System.Text.RegularExpressions.Regex.Replace(sender.text, "\D", "")
  160.    End Sub
  161.  
  162.  
  163.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  164.  
  165.    End Sub
  166.  
  167.    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
  168.        solonumeros(e)
  169.        If e.KeyChar = ChrW(Keys.Enter) Then
  170.            e.Handled = True
  171.            SendKeys.Send("{TAB}")
  172.        End If
  173.    End Sub
  174.  
  175.    Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
  176.        solonumeros(e)
  177.        If e.KeyChar = ChrW(Keys.Enter) Then
  178.            e.Handled = True
  179.            SendKeys.Send("{TAB}")
  180.        End If
  181.    End Sub
  182.  
  183.    Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
  184.        solonumeros(e)
  185.        If e.KeyChar = ChrW(Keys.Enter) Then
  186.            e.Handled = True
  187.            SendKeys.Send("{TAB}")
  188.        End If
  189.    End Sub
  190.  
  191.    Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress
  192.        solonumeros(e)
  193.        If e.KeyChar = ChrW(Keys.Enter) Then
  194.            e.Handled = True
  195.            SendKeys.Send("{TAB}")
  196.        End If
  197.    End Sub
  198.  
  199.    Private Sub TextBox5_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox5.KeyPress
  200.        solonumeros(e)
  201.        If e.KeyChar = ChrW(Keys.Enter) Then
  202.            e.Handled = True
  203.            SendKeys.Send("{TAB}")
  204.        End If
  205.    End Sub
  206.    Private Sub TextBox6_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox6.KeyPress
  207.        solonumeros(e)
  208.        If e.KeyChar = ChrW(Keys.Enter) Then
  209.            e.Handled = True
  210.            SendKeys.Send("{TAB}")
  211.  
  212.        End If
  213.  
  214.    End Sub
  215.  
  216.  
  217.    Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  218.        For Each obj As Control In Me.Controls
  219.            If (TypeOf obj Is TextBox) Then
  220.                obj.Text = ""
  221.            End If
  222.            If (TypeOf obj Is GroupBox) Then
  223.                For Each caja As Control In obj.Controls
  224.                    If (TypeOf caja Is TextBox) Then
  225.                        caja.Text = ""
  226.                    End If
  227.                Next
  228.            End If
  229.            ListBox1.Items.Clear()
  230.  
  231.  
  232.        Next
  233.  
  234.  
  235.    End Sub
  236.  
  237.    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  238.        Dim rutaFichero As String
  239.        Dim i As Integer
  240.  
  241.        rutaFichero = Path.Combine(Application.StartupPath, "Multiples.txt")
  242.        Dim fichero As New IO.StreamWriter(rutaFichero)
  243.        For i = 0 To ListBox1.Items.Count - 1
  244.            fichero.WriteLine(ListBox1.Items(i))
  245.        Next
  246.        fichero.Close()
  247.    End Sub
  248.  
  249.    Dim combinations As Integer
  250.    Dim seta As Integer
  251.  
  252.  
  253.  
  254.  
  255.    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
  256.        Dim constantValues As New List(Of Integer)
  257.        Dim combinations As New List(Of List(Of Integer))
  258.        Dim length As Integer = 5
  259.        Dim skipStart As Integer = 0
  260.  
  261.        Do Until skipStart = (constantValues.Count - length)
  262.  
  263.            Dim values As List(Of Integer) = constantValues.GetRange(skipStart, length)
  264.            Dim count As Integer = 0
  265.  
  266.            Do Until count = (constantValues.Count - length - skipStart)
  267.  
  268.                combinations.Add(values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToList)
  269.  
  270.                Debug.WriteLine(String.Join(", ", values.Concat(constantValues.Skip(skipStart + length + count).Take(1)).ToArray))
  271.  
  272.                count += 1
  273.  
  274.            Loop ' count = (constantValues.Count - length)
  275.  
  276.            skipStart += 1
  277.            skipStart = 0
  278.        Loop ' skipStart = (constantValues.Count - length)
  279.  
  280.  
  281.        combinations.ForEach(Sub(combination As List(Of Integer))
  282.                                 ListBox1.Items.Add(String.Join(", ", From value As Integer In combination
  283.                                                                      Select If(value.ToString.Length = 1I,
  284.                                                                                value.ToString.Insert(0I, "0"c),
  285.                                                                                value.ToString)))
  286.                             End Sub)
  287.  
  288.  
  289.  
  290.    End Sub
En línea

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

Mensajes: 9.788



Ver Perfil
Re: formar combinaciones de 7 y 8 numeros con 25 numeros
« Respuesta #19 en: 15 Octubre 2014, 20:28 pm »

Hola bueno llegando y pongo el codigo

Especifica el número de linea donde da error, y el error en si mismo. no se, muestra un ejemplo, o algo...

Saludos
« Última modificación: 15 Octubre 2014, 20:30 pm por Eleкtro » En línea

Páginas: 1 [2] 3 4 5 6 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Problema] Programa para averiguar números pares entre 2 números
Programación Visual Basic
Dreamaker 3 5,620 Último mensaje 21 Mayo 2010, 23:45 pm
por Shell Root
Combinaciones con 54 numeros
.NET (C#, VB.NET, ASP)
mr_marley 3 9,221 Último mensaje 27 Noviembre 2011, 01:56 am
por mr_marley
Como saber todas las combinaciones posibles de letras y numeros?
Programación C/C++
peterfly 8 28,699 Último mensaje 15 Julio 2012, 18:26 pm
por DickGumshoe
Combinaciones letras o numeros « 1 2 »
.NET (C#, VB.NET, ASP)
luis456 11 8,399 Último mensaje 8 Febrero 2014, 11:43 am
por luis456
Combinaciones numericas por posicion con numeros guias « 1 2 3 »
.NET (C#, VB.NET, ASP)
luis456 26 18,735 Último mensaje 28 Septiembre 2014, 16:13 pm
por luis456
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines