Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - luis456

#331
Hola

Bueno tengo algunos dias tratando de hacer lo que me pusiste elektro pero no me sale

o me da combianciones raras o me da el error de variable fuera de rango te pongo el codigo a ver donde me estoy pelando


Código (vbnet) [Seleccionar]
Public Class LuisClass_v2

    ReadOnly Randomizer As New Random

    ' Num ReadOnly FixedValues As Integer() =
    ' Num   Enumerable.Range(1I, 49I).ToArray ' 1 to 30

    ReadOnly FixedValues As Integer() = {1, 5, 19, 22, 34, 55, 66, 88, 9, 20, 25}

    ReadOnly RandomValues As Integer() =
        Enumerable.Range(FixedValues.First, FixedValues.Last).ToArray ' 1 to 30

    Dim Combo As List(Of Integer) = Nothing
    Dim Combos As New List(Of List(Of Integer))

    Private Sub Test() Handles MyBase.Shown

        Dim IndexCounter As Integer = FixedValues.First ' 1
        Dim LenCounter As Integer = 0I

        Const NumStep As Integer = 3I
        Const NumLen As Integer = 6I

        Do Until IndexCounter > FixedValues.Last ' IndexCounter > 30

            Combo = New List(Of Integer)

            For Num As Integer = IndexCounter To (FixedValues.Count) Step NumStep ' 1 to 30 Step 3

                '  Combo.Add(Num)
                '  LenCounter += 1I

                Combo.Add(FixedValues(NumStep * LenCounter))

                If LenCounter >= NumLen Then
                    Exit For
                End If

            Next ' Num

            If LenCounter < NumLen Then ' If LenCounter < 10

                For RandomNum As Integer = 1I To (NumLen - LenCounter)

                    Dim n As Integer = Randomizer.Next(RandomValues.First, RandomValues.Last)

                    Do Until Not Combo.Contains(n)
                        n = Randomizer.Next(RandomValues.First, RandomValues.Last)
                    Loop

                    Combo.Add(n)

                Next ' RandomNum

            End If ' LenCounter < NumLen

#If DEBUG Then ' #Debug
            Debug.WriteLine(String.Join(", ", Combo))
            ' Stop
#End If

            Combos.Add(Combo)
            IndexCounter += 1I
            LenCounter = 0I

        Loop ' IndexCounter >= FixedValues.Last

        ' ********
        ' Listbox:
        ' ********
        Combos.ForEach(Sub(comb As List(Of Integer))

                           ' Convierto la Lista a 'String', le añado los ceros, y añado el string formateado al Listbox.
                           ListBox1.Items.Add(String.Join(", ",
                                                          From value As String In comb
                                                          Select If(value.Length = 1I,
                                                                    value.Insert(0I, "0"c),
                                                                    value)))

                       End Sub)

    End Sub ' Test

End Class
#332
Hola porque no me salen los números que he puesto para combinar ? he echo algunos arreglos para combinar con cinco ya que según la cantidad de números en la variable si me paso se queda en un loop esto lo detecta,pero los números que pongo en ella no ?

Código (vbnet) [Seleccionar]
Public Class LuisClass_v2

    ReadOnly Randomizer As New Random

    ReadOnly FixedValues As Integer() = {1, 5, 19, 22, 34, 55, 66, 88, 9, 20, 25}

    ReadOnly RandomValues As Integer() =
        Enumerable.Range(FixedValues.First, FixedValues.Last).ToArray ' 1 to 30

    Dim Combo As List(Of Integer) = Nothing
    Dim Combos As New List(Of List(Of Integer))

    Private Sub Test() Handles MyBase.Shown

        Dim IndexCounter As Integer = FixedValues.First ' 1
        Dim LenCounter As Integer = 0I

        Const NumStep As Integer = 3I
        Const NumLen As Integer = 5I

        Do Until IndexCounter > FixedValues.Last ' IndexCounter > 30

            Combo = New List(Of Integer)

            For Num As Integer = IndexCounter To (FixedValues.Count) Step NumStep ' 1 to 30 Step 3

                Combo.Add(Num)
                LenCounter += 1I

                If LenCounter >= NumLen Then
                    Exit For
                End If

            Next ' Num

            If LenCounter < NumLen Then ' If LenCounter < 10

                For RandomNum As Integer = 1I To (NumLen - LenCounter)

                    Dim n As Integer = Randomizer.Next(RandomValues.First, RandomValues.Last)

                    Do Until Not Combo.Contains(n)
                        n = Randomizer.Next(RandomValues.First, RandomValues.Last)
                    Loop

                    Combo.Add(n)

                Next ' RandomNum

            End If ' LenCounter < NumLen

#If DEBUG Then ' #Debug
            Debug.WriteLine(String.Join(", ", Combo))
            ' Stop
#End If

            Combos.Add(Combo)
            IndexCounter += 1I
            LenCounter = 0I

        Loop ' IndexCounter >= FixedValues.Last

        ' ********
        ' Listbox:
        ' ********
        Combos.ForEach(Sub(comb As List(Of Integer))

                           ' Convierto la Lista a 'String', le añado los ceros, y añado el string formateado al Listbox.
                           ListBox1.Items.Add(String.Join(", ",
                                                          From value As String In comb
                                                          Select If(value.Length = 1I,
                                                                    value.Insert(0I, "0"c),
                                                                    value)))

                       End Sub)

    End Sub ' Test

End Class
#333
Mil gracias de nuevo ahora si pude hacerlo funcionar :)

Bien aca donde me pones esto , es lo debería de cambiar por mi variable " result " que es la que tiene los números después de efectuada la operación que hago en mi programa ? ya que mi idea es implementarlo a mi programa

Código (vbnet) [Seleccionar]
ReadOnly FixedValues As Integer() = {1, 5, 19, 22, 34, 55, 66, 88, 99, etc...}

por lo demas funciona como queria lo de ordenar de menor a mayor ya me ocupo :)


gracias muchas gracias  :) :)

Luis

#334
Gracias elektro

Como creo no saber nada :) algunas cosas ya que me da este error


Error   1   No se puede encontrar el evento 'Shown'.   ( edito ya lo resolví)

otra cosa " leyendo el codigo donde pones

Código (vbnet) [Seleccionar]
Enumerable.Range(1I, 30I).ToArray ' 1 to 30

asumo que el programa lee que son números desde el 01 al 30 correlativamente ? si es así, no es la idea jejej ya que sabes que yo extraigo en el viejo programa unos resultados que varían y pueden ser 01 05 19 22 34 55 66 88 99 por ejemplo,y como no logro entender donde pongo mi variable para probarlo a ver

también perdona mi ignorancia pero donde muestro los resultados  estoy poniendo esto pero solo me sale  " colección "
Código (vbnet) [Seleccionar]
ListBox1.Items.AddRange(combos.Cast(Of Object).ToArray)

gracias por tu infinita paciencia

luis
#335

Hola

no debe ser aleatorio, ya que siempre cuando se ejecute el programa siempre deben salir las mismas combinaciones salvo que cambie el imput o los numeros en la variable

los números a rellenar no importa estén o no en la variable siempre y cuando no repitan en la misma combinación y estén dentro del rango establecido .y termina cuando acabe el ultimo numero de la variable


Buen dia ;)

Luis
#336
Cita de: Eleкtro en 16 Agosto 2014, 03:29 AM
1.
¿el número del 1 al 99 del interogante debe ser aleatorio? (ej: ¿daría igual si es 5 o 95?), o por lo contrario debería seguir un orden de incremento (primero el 1, luego en el siguiente interrogante el 2, y en otro interrogante el 3, etc...)

2.
¿el número del interogante debe ser un número del 1 al 99, pero ese número además debe existir dentro de la variable Result? (y, repito lo del punto .1, ¿debe ser aleatorio?)




En teoría supongo que con un For asignándole un Step de 2 e incrementando el valor de una variable que usariamos para especificar el índice del elemento inicial en cada repetición del búcle sería suficiente, pero lo de los interrogantes lo veo algo más complicado, quizás no lo sea tanto, aclárame eso y veré lo que puedo hacer.

Saludos!



Diossssssss son las 4 y bastante de la madrugada  vengo de fiesta y estas aca jo descanza chico mañana te cuento :)

luis



#337
Bien te esplico mi proyecto :) jejej a ver si me hago entender, como siempre pasa uno sabe lo que quiere pero nunca logro hacerlo entender o explicar

input como tu dices :)

la variable result contiene x numeros que van desde 01 hasta el 99 pero según los resultados pueden ser menos.

supongamos que que la variable contenga estos números; ( pongo solo hasta el 30 para hacerlo corto )


input
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30


con estos números hay que formar grupos o combinaciones de 10 números saltando de dos en dos:

salida...

01 04 07 10 13 16 19 22 25 28

02 05 08 11 14 17 20 23 26 29

03 06 09 12 15 18 21 24 27 30

04 07 10 13 16 19 22 24 28  ?  <- aca rellenar con un numero dentro del rango 01 al 99 y por supuesto no se repita en la conbinacion esto es cuando se agoten los números de que tenga la variable

05 08 11 14 17 20 23 26 29  ? < igual poner numero dentro del rango y que no repita y esto hasta que acabe con el ultimo numero que seria el numero 30


30 ? ? ? ? ? ? ? ? ? ?

Motrar de menor a mayor en un lisxbot



saludos


Luis


#338
Cita de: xustyx en 10 Agosto 2014, 21:56 PM
Por que no te instalas notepad++  y dejas el archivo abierto?


Hola y gracias

pero ya lo resolví cree un icono en el escritorio con la ruta y listo ahora cada ves que lo quiero modificar lo llamo desde ese icono lo modifico y listo

tema cerrado

Luis
#339
Tengo un pequeño problema cada ves que quiero modificar este archivo y es que tengo que ir a windos sisten eceteraaaaaa... abrir el archivo con el blog de notas escribir cerrar y guardar,

el archivo host sirve para bloquear las paginas que quieras pero trate de hacerlo con los métodos tradicionales pero no me sale la idea es hacer un form un texbox donde escribo la pagina a bloquear

Ojo no quiero me lo hagan solo una orientación de que método puedo usar :) o por donde irían los tiros

luis

#340
En la parte de las combinaciones me dice que se esperaba una declaración  ???

resul no esta declarado
palabra no declarado

de paso he visto un error que tenia y era que tenia que hacer un boton para introduce la funcion jejej

Código (vbnet) [Seleccionar]
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        ' funcion combinar la variable " resul " que contiene la cantidad de numeros a combinar (no funciona)
        ' esto es de basic pero es para cojer la idea :) no se como hacerlo en net

        For recorrer = 1 To Len(resul)
            auxiliar = Mid(palabra, recorrer, 1)
            For recorrer1 = 1 To Len(resul)
                auxiliar1 = Mid(palabra, recorrer1, 1)
                For recorrer2 = 1 To Len(resul)
                    auxiliar2 = Mid(palabra, recorrer2, 1)
                    For recorrer3 = 1 To Len(resul)
                        auxiliar3 = Mid(resul, recorrer3, 1)
                        If anterior <> auxiliar3 Then

                            Print(auxiliar & auxiliar1 & auxiliar2 & auxiliar3)
                        End If
                        anterior = auxiliar3
                    Next
                Next
            Next
        Next
    End Sub