Bonjour,
je trouve un peux de mal a résoudre un exercice en algorithme générale, il est demander d'écrire un algorithme qui teste si un mot est un palindrome.( se lit de gauche a droite comme de droite a gauche exp: radar, laval, sos)
Bonjour,
je trouve un peux de mal a résoudre un exercice en algorithme générale, il est demander d'écrire un algorithme qui teste si un mot est un palindrome.( se lit de gauche a droite comme de droite a gauche exp: radar, laval, sos)
Bonjour,
Vous avez pas un embryon d'algo?
Ca vous donne une piste?
Code : Sélectionner tout - Visualiser dans une fenêtre à part str[i] == str[ L - 1 - i ]
en fette je veux savoir comment inversé le contenu de la variable donner par l'utilisateur pour que je puise tester
En quel langage ? Si c'est en pseudo-langage, y'a franchement aucune difficulté ...
+1.
- 1 - Pour inverser, il suffit de partir de la fin et de copier dans un nouveau tableau. Sinon il faut avoir un marqueur qui part du début, un de la fin et inverser deux à deux les variables (principe des tours de Hanoi).
- 2 - Plutôt que d'inverser le tableau, autant tester directement si c'est un palindrome. Même principe : si le premier est égal au dernier, le deuxième à l'avant dernier, le troisième à l'antépénultième, etc.
Consignes aux jeunes padawans : une image vaut 1000 mots !
- Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
- Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
-ton poste tu dois marquer quand la bonne réponse tu as obtenu.
Itératif :
Récursif :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function palindrome_it(String input): boolean begin int inLgth = length(input); for(int i=0; i<floor(inLgth/2); i++) { if(input[i] != input[inLgth-i-1]) { return false; } } return true; end
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function palindrome_rec(String input): boolean begin int inLgth = length(input); if(inLgth == 0 || inLgth == 1) { return true; } else { return (input[0] == input[inLgth-1]) && palindrome_rec(slice(input, 1, inLgth-1)); } end
Volontairement, ça ne correspond à aucun langage connu (enfin, pas à ma connaissance), et il faut déjà comprendre comment fonctionne un palindrome pour comprendre le raisonnement des deux algos.
Partager