All pastes #461733 Raw Edit

Untitled

public c v1 · immutable
#461733 ·published 2007-04-27 21:11 UTC
rendered paste body
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(int argc, char** argv){	// déclaration des variables	char alphabet[] = "abcdefghijklmnopqrstuvwxyz";	char pwd[100];	char first_char, current_char, next_char;	int fini = 0;	int i;		int size_alph;	int size_pwd;	int position;	sprintf(pwd,"%c",alphabet[0]); // password de départ		first_char = alphabet[0];		size_alph = strlen(alphabet);	size_pwd = strlen(pwd);	while(!fini)	{		printf("%s\n", pwd);				position = size_pwd - 1; // on place le focus sur le dernier caractère		while(pwd[position] == alphabet[size_alph-1]) position--; // tant que l'on a le dernier caractère, on remonte		// Si on a trop remonté, on crée un nouveau caractère car la chaine est de la forme "z", "zz", "zzz", ...		if(position<0)		{			pwd[size_pwd] = first_char; // ajout d'un char			for(i=0 ; i < size_pwd ; i++) pwd[i] = first_char; // on remet tout à zéro (inutile pour le dernier char déjà initialisé) :						size_pwd += 1; // on actualise la taille						pwd[size_pwd] = '\0';		}		else		{			// sinon on incrémente le caractère sur lequel on a le focus						current_char = pwd[position];			i=0; 			next_char = 0;						// on cherche la lettre suivante dans l'alphabet			while(!next_char)			{				if(alphabet[i] == current_char) next_char = alphabet[i+1];				i++;			}						pwd[position] = next_char; // on met à jour la caractère			// tous les caractères qui suivent le caractère changé doivent être remis à zéro  			for(i=position+1 ; i < size_pwd ; i++) pwd[i] = alphabet[0];		}	}	return 0;}