Título: Modificar código de combinaciones de números Publicado por: luis456 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
Luis Título: Re: Modificar código de combinaciones de números Publicado por: Eleкtro en 22 Marzo 2016, 16:16 pm Creo que me he pasado y he escrito un texto demasiado largo...
Esto es solo para explicarte el funcionamiento del método String.Format(), si no estás interesado ignora este post. 1º: La función String.Format(). Sirve para asignar un formato específico a una cadena de texto, y devolver la cadena formateada. Los {n} representan tres cosas, de la tercera ya hablaremos, lo primero que representa es el índice de los argumentos que se especifican a la derecha del formato de la cadena de texto (String.Format("Formato", arg0, arg1, arg2, etc...)), y la posición donde se debe insertar el valor de ese objeto en el formato String.Format("{insertar arg0 aquí} Hola Mundo! {o insertar arg0 aquí}", arg0)). En este ejemplo Código
{0} = El primer objeto especificado en el array de argumentos ("archivo") {1} = El segundo objeto especificado en el array de argumentos ("txt") Es decir, que este formato: Código: "C:\{0}.{1}" Devolverá esta cadena de texto: Código: "C:\Archivo.txt" Es decir, también, que el siguiente formato seguiría devolviendo el mismo string que antes ("C:\Archivo.txt"), puesto que el formato sigue siendo el mismo a pesar de haber añadido un objeto adicional en el array de argumentos: Código
Para tener en cuenta el o los objetos adicionales que hemos añadido en el array de argumentos, debemos referenciarlos en el formato, especificando sus índices {n}: Código
Eso nos devolvería lo mismo que si concatenasemos el string de esta manera: Código (que cosa más fea) Es muy sencillo, una vez que se entiende, no tiene misterio, solo son posiciones e índices... Puedes repetir los índices {n} en el formato cuantas veces quieras, para insertar ese valor en distintas posiciones del string. Por ejemplo este formato: Código
Produciría el string: Código: C:\Carpeta\Carpeta\Carpeta\Archivo.txt 2º El formato de los valores. A los valores de los argumentos también les puedes asignar un formato específico, dentro del formato del string, esto es a lo que me refería con esa tercera cosa que representan los {n}. Lo mejor es que leas este artículo de MSDN sobre los formatos de los valores: Custom Numeric Format Strings (https://msdn.microsoft.com/en-us/library/0c899ak8%28v=vs.110%29.aspx) ( no están todos los formatos que se pueden utilizar para formatear un valor, pero con eso ya tienes suficiente para empezar) Para especificar un formato de valor, se hace de la siguiente manera {n:FORMATO} donde "FORMATO" sería el formato que le queramos dar, entre los formatos disponibles. En este ejemplo uso el formato "Zero placeholder" (que puedes leer en el enlace de MSDN): Código
Eso lo que hace es rellenar el espacio vacío a la izquierda con un "0" en caso de que el valor del argumento ("1") no ocupe ese espacio, por lo que ese formato devolverá este string: Código: Valor: 01 Es practicamente lo mismo que hacerle un padding a un string: Código
Te he explicado ese formato por que es el que quieres utilizar, pero hay muchísimos más. Título: Re: Modificar código de combinaciones de números Publicado por: Eleкtro en 22 Marzo 2016, 16:18 pm Para hacer
Si lo que quieres es obtener todas las combinaciones posibles de los valores contenidos en un array, y de longitud determinada, entonces esto es una solución mejor: ( espera, la estoy buscando en mi API ElektroKit) Título: Re: Modificar código de combinaciones de números Publicado por: luis456 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 Título: Re: Modificar código de combinaciones de números Publicado por: Eleкtro en 22 Marzo 2016, 16:54 pm :o :o :o :o :o :o :o tengo para meses jejjeje luis 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 Título: Re: Modificar código de combinaciones de números Publicado por: luis456 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
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 Título: Re: Modificar código de combinaciones de números Publicado por: Eleкtro en 22 Marzo 2016, 17:22 pm 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 ¿Te refieres a hacer esto?: Código
Código: 01, 03, 04 01, 03, 05 01, 03, 08 01, 03, 13 01, 03, 24 01, 03, 35 01, 03, 44 01, 03, 49 01, 03, 55 01, 03, 77 01, 03, 88 PD: En el ejemplo de @Lekim lo harías añadiendo otro For para tener una nueva iteración con una nueva variable y utilizarla, esto es más o menos lo mismo, la cuestión es añadir. Saludos Título: Re: Modificar código de combinaciones de números Publicado por: luis456 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 Título: Re: Modificar código de combinaciones de números Publicado por: Eleкtro en 22 Marzo 2016, 18:57 pm No te preocupes, AndAlso y OrElse son unos keyword sencillos de recordar, pero claro hay que acostumbrarse y practicar para que se quede todo bien memorizado, ahora que sabes como hacerlo seguro que te será mas facil en el futuro
saludos! |