¡Hola!
Precisamente estos días hemos estado tratando un tema muy parecido en el foro. Es este:
http://foro.elhacker.net/programacion_cc/como_hacer_un_generador-t366597.0.html¿Lo que quieres es que en cada combinación aparezcan todas las letras del abecedario, tanto en mayúsculas como en minúsculas y los números del 1 al 9? El programa en sí no sería complicado de hacer, pero tardaría mucho en finalizar la ejecución del programa (ten en cuenta que son 26 * 2 + 9 caracteres, es decir, 61 caracteres en total, y en cada secuencia también hay 61 caracteres. Por lo tanto hay 8,03748056 × 10
108 combinaciones posibles...).
*Digo 26 caracteres porque no cuento la 'ñ'.
Aquí te dejo un código que genera todas las combinaciones posibles desde AAAAA00000 hasta ZZZZZ99999:
#include <stdio.h>
FILE *fp;
void numeros(char *Letras, int n)
{
int i;
for(i
=0;i
<100000;i
++)printf("%s%.5d\n",Letras
, i
); }
void Generador(char *Letras, int n)
{
int count, resta=1, llamada;
while(llamada != 5)
{
numeros(Letras, n);
count = n;
Letras[n]++;
llamada = 0;
while(count >= 0)
{
if(Letras[count] > 90)
{
Letras[count] = 65;
Letras[count-1]++;
llamada++;
}
count--;
resta++;
}
}
}
int main()
{
char Letras[] = "AAAAA";
fp
= fopen("combinacion.txt", "w"); Generador(Letras, 4);
return 0;
}
No obstante, en el tema que te he pasado encontrarás el planteamiento y las soluciones de otros usuarios (algunas de ellas son geniales!), así que te vendrá muy bien pasarte por allí para que te vayas haciendo una idea de cómo hacer tu código.
Saludos!