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
|
int i = 0; // Toi tu voulais pouvoir incrémenter à coup d'addition, donc c'est forcément un nombre.
// Cependant, toi tu veux une représentation textuelle de ton nombre, donc
// on passe par un string dans laquelle on formate ton nombre. Result
// n'est donc qu'une variable de transition, ton vrai nombre, celui sur lequel
// tu peux faire des calculs, reste 'i'
// Ici on initialise Result avec la représentation textuelle de 'i', ce qui donne
// 'a' compte tenu de l'alphabet passé.
string Result = IntToString("abc", i);
// Tu dis vouloir une représentation sous la forme 'aaa', 'aab', 'aac', ...
// or la fonction retourne le nombre sans les '0' devant.
// PadLeft permet de les placer, tu veux que ton nombre soit composé de 3 lettres
// et le 0 de ton alphabet c'est 'a', donc :
Result = Result.PadLeft(3, 'a'); // On comble le nombre en placant des 'a' à gauche jusqu'a atteindre 3 lettres
// Tu veux toutes les combinaisons, dans l'ordre, jusqu'à "ccc"
while(Result != "ccc") // ici on peut aussi utiliser (et c'est même mieux) string.Compare(Result, "ccc") != 0
{
// On affiche ce nombre
Console.WriteLine(Result);
// On incrémente ton nombre 'i'
i++;
// Et on recommence : on transforme i en sa représentation textuelle
Result = IntToString("abc", i).PadLeft(3, 'a');
}
// Vu la condition, quand Result = "ccc", on sort de la boucle sans l'afficher, alors on le fait maintenant
Console.WriteLine(Result); |
Partager