Déterminer si une chaine de caractères est un palindrome
Bonjour à tous,
j'ai un exercice d'algorithme que j'ai résolu, il demande d'écrire un algorithme qui dit si la chaine est palindrome ou non, en utilisant une chaine de n caractères.
Je vous demande de corriger mes erreurs s'il vous plaît, j'ai énormément besoin de votre aide. Merci d'avance :)
Code:
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 32 33 34 35 36 37
| Algorithme mot_palindrome;
Var mot: chaine[n];
b: booléen;
i, n: entier;
Debut
Ecrire("Veuillez introduire un mot de plus de 2 caractères: ");
Repeter
Lire(mot);
Jusqu'à(longueur(mot)>2)
b<-- vrai;
n<-- longueur(mot);
i<--1;
Si(n mod 2 =0) alors
debut
Tant que ((b=vrai) et (n<>i+1)) faire // <> veut dire =/= (different)
debut
Si(mot[i]=mot[n]) alors b<-- vrai;
Sinon b<-- faux;
i <-- i+1; n <-- n-1;
fait;
fin;
Sinon
debut
Tant que((b<--vrai) et (n<>i))faire
debut
Si(mot[i]=mot[n]) alors b<--vrai;
Sinon b<-- faux;
i <-- i+1; n <-- n-1;
fait;
fin;
Si(b=vrai) alors Ecrire("Le mot introduit est palindrome");
Sinon Ecrire ("Le mot introduit n'est pas palindrome");
FIN. |