Je veux trouver Palindrome d'un mot. Quel est le problème ici?Trouver Palindrome
fonction principale:
int size;
string input;
cin>>input;
size = input.length();
if(testPalindrome(input,size-1,0))
cout<<"It's Palindrome";
else
cout<<"It's not Palindrome";
Et la fonction testPalindrome est:
bool testPalindrome (string pal , int last, int first){
if (pal[first] != pal[last])
return false;
else{
if (first<last)
testPalindrome(pal,last-1,first+1);
else
return true;
}
}
J'ai lu this link et trouvé la réponse pour déterminer Palindromes, mais pourquoi celui-ci ne fonctionne pas?
Il semble que vous ayez besoin d'apprendre à utiliser un débogueur par votre code. Avec un bon débogueur, vous pouvez exécuter votre programme ligne par ligne et voir où il dévie de ce que vous attendez. C'est un outil essentiel si vous voulez faire de la programmation. Pour en savoir plus: ** [Comment déboguer de petits programmes] (http://ericlippert.com/2014/03/05/how-to-debug-small-programs/) ** – NathanOliver
Il y a des chemins dans votre 'testPalindrome' qui ne retourne rien. Cela conduit à * comportement indéfini *. Un bon compilateur aurait dû vous lancer des avertissements. –
S'il vous plaît être plus précis que "ne fonctionne pas". Il existe d'innombrables façons qu'un programme peut "ne pas fonctionner". – molbdnilo