Código de C/Visual C - Generador de todas las convinaciones posibles en una cadena

Generador de todas las convinaciones posibles en una cadenagráfica de visualizaciones


C/Visual C

estrellaestrellaestrellaestrellaestrella(5)
Publicado el 13 de Marzo del 2002 por Iván Llopard
7.923 visualizaciones desde el 13 de Marzo del 2002. Una media de 14 por semana
Este código completa dentro de un archivo de texto todas las combinaciones posibles que se pueden extraer de una combinación de cuatro caracteres.

Versión 1
estrellaestrellaestrellaestrellaestrella(5)

Publicado el 13 de Marzo del 2002gráfica de visualizaciones de la versión: Versión 1
7.924 visualizaciones desde el 13 de Marzo del 2002. Una media de 14 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//Este programita crea un fichero password.txt con todas las claves posibles
//de 4 digitos que existan. Realizado en c++.
 
#include <iostream.h>
#include <stdio.h>
#include <fstream.h>
#include <stdlib.h>
#include <conio.h>
 
char clave[4];
char abec[]="abcdefghijklmnopqrstuvwxyz0123456789";
 
void guardar(char muestra[]);
void combinar();
void cerrar();
ofstream fichero("password.txt"); //Crea un fichero de salida
 
main()
{
	clrscr();
	gotoxy(20,10);
	cout<<"********************************************"<<endl;
	gotoxy(20,11);
	cout<<"* ESPERE UNOS SEGUNDOS MIENTRAS EL ARCHIVO *"<<endl;
	gotoxy(20,12);
	cout<<"*     PASSWORD.TXT SE CREA EN SU DISCO     *"<<endl;
	gotoxy(20,13);
	cout<<"********************************************"<<endl;
	combinar();
	cerrar();
	return 0;
}
 
void guardar(char muestra[]){
	fichero << muestra << endl;
}
 
void cerrar(){
	fichero.close();
}
 
void combinar(){
	int m,n,o,p,q=0; //variables para manejar los bucles
	do{
		/****Bucle que maneja el primer caracter de clave****/
		p=0;
		clave[0]=abec[q++];
		do{
			/****Bucle que maneja el segundo caracter de clave****/
			n=0;
			clave[1]=abec[p++];
			do{
				/****Bucle que maneja el tercer caracter de clave****/
				m=0;
				clave[2]=abec[n++];
				do{
					/****Bucle que maneja el cuarto caracter de clave****/
					clave[3]=abec[m++];
					guardar(clave); //Guarda la combinacion en un fichero de texto
				}while (abec[m]);
			}while (abec[n]);
		}while (abec[p]);
	}while (abec[q]);
}



Comentarios sobre la versión: Versión 1 (5)

yo
12 de Abril del 2002
estrellaestrellaestrellaestrellaestrella
Bueno... creo que te complicas un poco la existencia, recursivamente quedaría el código más intuitivo, simplemente permutando caracteres, y haciendo todo en una función que te sirva para cualquier cadena.

P.D.: combinaciones es con B
Responder
yo
30 de Abril del 2002
estrellaestrellaestrellaestrellaestrella
Te complicaste la existencia... el trabajo está bien, pero podrías haberlo simplificado en una sola función...
P.D.: la palabra es COMBINACIONES.
Responder
Aarón
05 de Mayo del 2002
estrellaestrellaestrellaestrellaestrella
Sólo es una chorradilla, pero es que hace daño a los ojos: es combinaciones, no \'convinaciones\'.
Responder
Ivan
09 de Septiembre del 2002
estrellaestrellaestrellaestrellaestrella
Cuando empiece la universidad seguro que voy a saber mas de esto, gracias por los comentarios, me ayudan muchisimo.....
Responder
Nadie
14 de Abril del 2003
estrellaestrellaestrellaestrellaestrella
Se escribe coMBinaciones en lugar de "convinaciones".
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s147