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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ... 55
111  Programación / .NET (C#, VB.NET, ASP) / Re: Modificar código de combinaciones de números en: 22 Marzo 2016, 17:42 pm

" AndAlso " me cag... mira que lo pensé en serio, buaaa ya tengo 56 años " y si es eso  :¬¬ lo que andaba buscando , ahora puedo formar grupos de números combinados

gracias de nuevo y ya veo lo senil que me estoy poniendo :(


Gracias Elektro

Luis
112  Programación / .NET (C#, VB.NET, ASP) / Re: Modificar código de combinaciones de números en: 22 Marzo 2016, 17:05 pm
Me he dado cuenta que la función actual que tengo para realizar permutaciones no sirve para tu propósito, puesto que es para caracteres (me refiero, a strings de 1 caracter), y tu quieres hacer permutaciones de los elementos de un array (números de más de 1 dígito), así que ahora mismo no puedo enseñarte nada, por que me llevará su tiempo idear el nuevo algoritmo, lo siento, pero me pondré a ello, por que sería una función muy útil para tenerla siempre a mano.

De todas formas aquí te la dejo para que le heches un vistazo si quieres:
https://github.com/ElektroStudios/ElektroKit/blob/master/Solution/v1.2/Elektro.Cryptography/Tools/CryptoUtil_Permutations.vb

Saludos

Lo acabo de ver lo voy a probar ,pero permutaciones no es igual a combinaciones ,el codigo de arriba que puse si hace combinaciones, y estoy parado en

Código
  1. Where (value2 <> value1)


lo que me gustaría saber es como mostrar en ves de value1 y value 2, poner dentro de la misma rutina un tercer valor value3

o sea mostrar "  value1 , value2 y value3 " tambien pense en ir duplicando el codigo modificando variables y al final unirlos en un array y irles haciendo un take() pero no se me suena a escribir mucho jajjajaj y miles de fallas seguro

Luis





113  Programación / .NET (C#, VB.NET, ASP) / Re: Modificar código de combinaciones de números en: 22 Marzo 2016, 16:42 pm
Creo que me he pasado escrito un texto demasiado largo...


 :o :o :o :o :o :o :o tengo para meses jejjeje

luis
114  Programación / .NET (C#, VB.NET, ASP) / Modificar código de combinaciones de números en: 22 Marzo 2016, 15:32 pm
Hola ya de nuevo por acá con mis números raros :) para combinar, esto también le puede servir a quien le guste sacar o crear claves de logins y cosas por el estilo  :silbar:

Bien aunque he logrado modificar algunas cosas de este código me gustaría saber como funciona,  ahora combina una cadena de números de dos en dos y ahora busco combinar la cantidad que sea o de tres o de cuatro o mas combinaciones bajo el mismo concepto que tiene ahora

Código
  1. Dim intCol As IEnumerable(Of Integer) = {1, 3, 4, 5, 8, 13, 24, 35, 44, 49 ,55 ,77 ,88}
  2.  
  3.        Dim pairsCol As IEnumerable(Of String) =
  4.            From value1 As Integer In intCol
  5.            Select String.Join(Environment.NewLine, (
  6.                               From value2 As Integer In intCol
  7.                               Where (value2 <> value1)
  8.                               Select String.Format("{0:00}, {1:00}", value1, value2)))
  9.  
  10.        For Each pairs As String In pairsCol
  11.            Console.WriteLine(pairs)
  12.            Console.WriteLine("------")
  13.            MessageBox.Show(pairs)
  14.  
  15.        Next
  16.    End Sub

Luis

 
115  Programación / .NET (C#, VB.NET, ASP) / Re: Combis :( en: 20 Marzo 2016, 16:17 pm
hola de nuevo...

Bueno, creo que la pregunta está mas que respondida, pero tras revisar los comentarios me di cuenta que la secuencia de mi código, aunque lógica no era la que demandabas, así que pongo la rectificación y fiel a mi estilo ya que hay códigos que se entienden mejor que otros.

Código
  1.  
  2.       Dim NumElementos As IEnumerable(Of Integer) = {1, 3, 84, 99, 868}, Secuencia As String = Nothing
  3.        Dim nu As Integer = 0
  4.        For Each N As Integer In NumElementos : nu += 1
  5.            For I As Integer = nu To NumElementos.Count - 1
  6.                If N <> NumElementos(I) Then _
  7.                    Secuencia += String.Format("{0:00}, {1:00}{2}", N, NumElementos(I), Environment.NewLine)
  8.            Next
  9.        Next
  10.        MessageBox.Show(Secuencia)
  11.  

Devuelve
01, 03
01, 84
01, 99
03, 84
03, 99
84, 99

( he reducido la secuencia pero puedes poner tantos números como quieras)


O bien:

Código
  1.  
  2.      Dim NumElementos As IEnumerable(Of Integer) = {1, 3, 84, 99}, Secuencia As String = Nothing
  3.        For Each N As Integer In NumElementos
  4.            For I As Integer = 0 To NumElementos.Count - 1
  5.                If N <> NumElementos(I) Then _
  6.                    Secuencia += String.Format("{0:00}, {1:00}{2}", N, NumElementos(I), Environment.NewLine)
  7.            Next
  8.        Next
  9.        MessageBox.Show(Secuencia)

Devuelve:
01, 03
01, 84
01, 99
03, 01
03, 84
03, 99
84, 01
84, 03
84, 99
99, 01
99, 03
99, 84



S2s


Perfecto y gracias por tu ayuda, ya que sin querer me ayudaste con el primer código que me pusiste con otra duda que tenia diferente a la planteada, super agradecido a ti ya a elektro por tan valiosa colaboración aunque siempre con elektro da miedo preguntar jejejje es muy regañón  (el sabe que es con aprecio jejej )

Dare por solucionado este post y espero que le valga a otros muchos estos códigos ya que realmente son combinatorias y suelen ser útiles sobre todo para los que trabajan con Claves  ::)


Saludos
Luis







116  Programación / .NET (C#, VB.NET, ASP) / Re: Combis :( en: 20 Marzo 2016, 14:28 pm
Hola

Jaja, ahora queda más claro, gracias  ;-)

Código
  1.        Dim NumElementos As IEnumerable(Of Integer) = {1, 3, 84, 99}, Secuencia As String = Nothing
  2.        For Each N As Integer In NumElementos
  3.            For I = 0 To NumElementos.Count - 1
  4.                Secuencia += String.Format("{0:00}, {1:00}{2}", N, NumElementos(I), Environment.NewLine)
  5.            Next
  6.        Next
  7.        MessageBox.Show(Secuencia)
  8.  


S2s



Explicación para añadir ceros delante de un número:
String.Format("{0}", 5) ---> devuelve "5"  

String.Format("{0} {1}", 5, 25) ---> devuelve "5 25"  

String.Format("{0}, {1}", 5, 25) ---> devuelve "5, 25"  

String.Format("{0:00}", 5) ---> devuelve "05"  
 
String.Format("{0:00}", 25) ---> devuelve "25"  

String.Format("{0:00} {1:00}", 5, 25) ---> devuelve "05 25"  

String.Format("{0:00} {1:00} {2:00}" , 5, 25, 8) ---> devuelve "05 25 08"  

String.Format("{0:00}, {1:00}, {2:00}" , 5, 25, 8) ---> devuelve "05, 25, 08"  



Mientras escribia hacias lo mismo :) lo pruebo

gracias
Luis

117  Programación / .NET (C#, VB.NET, ASP) / Re: Combis :( en: 20 Marzo 2016, 14:23 pm
PD: ¿Algún "pero" esta vez? :P.


Jejejje luche hasta el final para que no hubiera " PERO " :)


Probando el codigo de elektro ahora me muestra esto (el codigo que me mostro Lekim le consegui otro uso me vino de perlas )

coleccion de numeros ( 1, 3, 4, 5, 8, 13, 34, 55, 84, 99 )

01 03
04 05
08 13
34 55
84 99


Pero jejje Yo nesecito me nuestre

01, 03
01, 04
01, 05
01, 08
01, 13
01, 34
01, 55
01, 84

despues se toma el seiguiente numero en este caso el tres y se combina haci hasta acabar con todos los numeros

03,04
03,05
03,08
03,13

Código
  1. Dim intCol As IEnumerable(Of Integer) =
  2.    {1, 3, 4, 5, 8, 13, 34, 55, 84, 99}
  3.  
  4. Dim sb As New StringBuilder(capacity:=100)
  5. For x As Integer = 0 To (intCol.Count - 1) Step 2
  6.  
  7.    If (x < (intCol.Count - 1)) Then
  8.        sb.Append(String.Format("{0:00}, {1:00}", intCol(x), intCol(x + 1)))
  9.    Else
  10.        sb.Append(String.Format("{0:00}", intCol(x)))
  11.    End If
  12.  
  13.    sb.AppendLine()
  14.  
  15. Next
  16.  
  17. MessageBox.Show(sb.ToString)  

Luis


118  Programación / .NET (C#, VB.NET, ASP) / Re: Combis :( en: 19 Marzo 2016, 15:06 pm
Hola

Podrías especificar un poco más. ¿Qué quieres hacer exactamente? ¿Combinar números de dos en dos aleatoriamente o de forma consecutiva a partir de un grupo de números?

En cualquier caso tu código tiene un montón de fallos, además no especificas tampoco cual es error que te marca (que hay muchos)


para empezar la declaración For/Next croe que debería ser:

Código:
   For k = 0 To NumElementos.Count -1
    
        Next k

por otro lado ¿Esto así?
Código:
  Dim NumElementos As IEnumerable(Of Integer) =
            {0, 3, 4, 5, 8}
        {01, 13, 34, 55, 84}

¿No será que lo quieres así?:

Código:
    Dim NumElementos As IEnumerable(Of Integer) = {0, 3, 4, 5, 8, 1, 13, 34, 55, 84}

En fin, explícate un poco

Podría ser algo así?

Código
  1. Public Class Form1
  2.    Dim NumElementos As New ArrayList({0, 3, 4, 5, 8, 1, 13, 34, 55, 84})
  3.    Sub Combinaciones()
  4.        Dim N As New Random
  5.        Dim num As String = Nothing
  6.  
  7.        For k As Integer = 1 To (NumElementos.Count / 2)
  8.            num = ""
  9.            For j As Integer = 0 To 1
  10.                Dim NumAlt As Integer = NumElementos(N.Next(NumElementos.Count))
  11.                NumElementos.Remove(NumAlt)
  12.                num += NumAlt.ToString
  13.            Next
  14.            MessageBox.Show(num)
  15.        Next
  16.  
  17.    End Sub
  18.  
  19.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  20.        Combinaciones()
  21.    End Sub
  22. End Class


O podría ser esto...

Esto combina los números de NumElementos  con los de NumElementos2, de dos en dos y de forma aleatoria.

Código
  1. Public Class Form1
  2.    Dim NumElementos As New ArrayList({0, 3, 4, 5, 8})
  3.    Dim NumElementos2 As New ArrayList({1, 13, 34, 55, 84})
  4.  
  5.    Sub Combinaciones()
  6.        Dim N As New Random
  7.        Dim num As String = Nothing
  8.  
  9.        For k As Integer = 1 To 5
  10.            num = ""
  11.  
  12.            Dim NumAlt As Integer = NumElementos(N.Next(NumElementos.Count))
  13.            Dim NumAlt2 As Integer = NumElementos2(N.Next(NumElementos2.Count))
  14.            NumElementos.Remove(NumAlt)
  15.            NumElementos2.Remove(NumAlt2)
  16.            num = NumAlt.ToString & "-" & NumAlt2.ToString
  17.  
  18.            MessageBox.Show(num)
  19.        Next
  20.  
  21.    End Sub
  22.  
  23.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  24.        Combinaciones()
  25.    End Sub
  26. End Class
  27.  


Gracias por tu atención y disculpa que haya tardado en responder

LO que estoy tratando de hacer es que de una serie de números contenidos en la variable se combinen de dos en dos y  perdón que no puse que son de esta manera son números de dos dígitos

entrada
01. 03, 04, 05, 08,  13, 34, 55, 84

salida

01, 03
01, 04
01, 05
01, 08
01, 13
01, 34
01, 55
01, 84

03,04
03,05
03,08
03,13  ............................... asi con todos hasta acabar la secuencia

Y de nuevo gracias :)

Luis


















119  Programación / .NET (C#, VB.NET, ASP) / Combis :( en: 18 Marzo 2016, 19:22 pm
Hola estoy creando este codigo para combinar numeros de dos en dos pero me sale un error que no habia visto antes :)

" No se puede inferir el tipo de 'k' porque los límites del bucle y la cláusula step no se convierten en el mismo tipo "



Código
  1. Public Class Form1
  2.  
  3.  
  4.  
  5.    Dim NumElementos As IEnumerable(Of Integer) =
  6.            {0, 3, 4, 5, 8}
  7.        {01, 13, 34, 55, 84}
  8.  
  9.  
  10.    Sub Combinaciones()
  11.  
  12.        For k = 2 To NumElementos
  13.  
  14.            i = i + 1
  15.  
  16.            For j = k To NumElementos
  17.  
  18.  
  19.            Next j
  20.  
  21.        Next k
  22.  
  23.    End Sub
  24.  
  25. End Class


Luis
120  Seguridad Informática / Hacking Wireless / Re: Como configurar Router Home station como punto de acceso en: 13 Marzo 2016, 11:04 am

JEJEJJE lo que no quiero es gastar dinero y mas por el reto que otra cosa :(

luis
Páginas: 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ... 55
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines