Travaille avec les caractères comme avec des entiers.
Fait un tableau de char asmodien contenant i h k j m l o n q p s r u t w v y x a z c b e d g f.
asmodien[26] = { 'i', 'h', ... };
Et ensuite, quelque chose comme ça ->
i = 0;
tant que tab[i] faire
si (tab[i] >= 'a') et (tab[i] <= 'z') alors
tab[i] = asmodien[tab[i] - 'a'];
fsi;
i++;
fait;
Si c'est un tab[i] est un "e" par exemple...
->
tab[i] = asmodien['e' - 'a'];
Table ascii... ->
tab[i] = asmodien[101 - 97];
->
tab[i] = asmodien[4];
Les tableaux C sont indicés de 0 à n - 1...
->
tab[i] = 'm';
Et ainsi de suite pour toutes les lettre de tab qui sont des lettres entre a et z jusqu'au zéro terminal (On avance avec le i++). Attention, les majuscules ne sont pas traitées par contre.
Il ne faut pas écrire du code au hasard. Il faut commencer par une étape de conception. Dans cet étape, il faut avant tout réfléchir, poser le problème et trouver un algo le solutionnant. Ensuite on code.
Autre point important, le développeur n'aime pas travailler. Il laisse faire l'ordinateur. Donc quand on fait un code, on le fait dense et sans répétitions. Si tu appuis sur ctrl + C et ctrl + V lorsque tu code c'est qu'il y a un problème dans ton algo. Faut faire une fonction ou une boucle.