Soyez le premier à donner votre avis sur cette source.
Vue 12 992 fois - Téléchargée 412 fois
// Auteur : Amokrane Chentir // Programme servant à determiner si la chaine entrée est un palindrome #include <iostream> using std::cout; using std::endl; using std::cin; int testPalindrome(char[],int,int,int); int main() { int e=0, r, rentre; const int elements=100; char tab[elements]; cout<<"Veuillez saisir un mot et je vous dirai s'il s'agit d'un palindrome !"<<endl; cin>>tab; do // Pour calculer la taille de la chaine entrée par l'utilisateur ! { e++; }while(tab[e]!=0); r=testPalindrome(tab,elements,0,e); // Appel de la fonction ... if(r==0) cout<<"Ce n'est pas un palindrome !"<<endl; else if(r==1) cout<<"Il s'agit d'un palindrome !"<<endl; cout<<endl<<"Veuillez entrer un nombre pour sortir !"<<endl; // Pour ralentir la sortie ! cin>>rentre; return 0; } int testPalindrome(char mot[],int indices,int debut,int fin) { int e=0; if(mot[debut]==mot[fin-1]) { // Toute la recursivité est là ! e++; return testPalindrome(mot,indices,debut+1,fin-1); } if(e==fin/2) // Si on est au milieu de la chaine donc on a fait toutes les comparaisons , positives ! return 1; // Donc c'est un palindrome else // Sinon ça veut dire que c'est pas un palindrome ! return 0; }
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.