Bonsoir a tous,
voila j´ai un petit problème avec un algorithme de BruteForce, voila en fait il génére bien comme je veux toutes les solutions, seulement j´arrive pas a selectionner les caracteres que je veux qui apparaissent ! !!
voici le code:
/ / fonction de génération du dictionnaire
/ / fichier => nom du fichier de sortie
/ / LongueurMax => longueur maximal du pass
/ / begin => caractere de " debut"
/ / end => caractere de " fin"
/ / min => indique si on doit afficher les minuscules
/ / maj => indique si on doit afficher les majuscules
/ / num => indique si on doit afficher les nombres
int DicoGen(char fichier[50], int LongueurMax, char begin, char end, int min, int maj, int num)
{
FILE *gen; / / pointeur sur fichier à générer
char code[255]; / / tableau contenant le code
int i; / / indice tableau
int longueur; / / longueur en traitement
// ouverture fichier
if((gen = fopen(fichier, " w")) == NULL)
return 0; / / erreur
// on traite toutes les longueurs possible jusqu´a longueurmax
for ( longueur=1; longueur < = LongueurMax; longueur++)
{
// marque de fin de génération de longueur
// initialisation du premier " mot"
for ( i=0; i < longueur; code[i++] = begin)
code[longueur] = 0;
// on fait toute les lettres
while(code[longueur-1] < = end)
{
i = 0; / / init indice
while(code[i] > end && code[i+1] ! = 0)
{
code[i] = begin;
code[++i]++;
}
fprintf(gen, " %s\n", code);
code[0]++; / / caractere suivant
}
}
fclose(gen); / / ferme le fichier
return 1;
}
donc si je fais: Dicogen(file, 3, ´0´, ´Z´, 0, 1, 1)
bah il devrait me générer toutes les possibilité à 1, 2 ou 3 caracteres, allant de ´0´ à ´Z´, comme indiqué, je veux qu´il ne m´affiche que les lettres minuscules et les chiffres, seulement je ne sais pas quoi rajouter dans ma fonction pour permettre une tel chose...
J´espere donc que vous pourrez m´aider...
Merci par avance...
Bob