Tester un mot c'est un palindrome ou non
Résolu
Sasan202
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
moulaimohemmedali Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
moulaimohemmedali Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
j'essaye d'écrire un programme qui permet de tester si un mot est un palindrome ou non
Mais ça ne fonctionne pas correctement :(
Un palindrome est une chaine de caractères qui se lit de gauche à droit ou de droit à gauche et donne le même résultat
Exemple : « radar », « laval ».
C'est mon code en C++ je ne sais pas pourquoi
#include<stdio.h>
#include<string.h>
#include<conio.h>
int main()
{
int n,i,k,m;
char mot[256] ;
printf("entrer le mot a verifier SVP : ");
scanf("%s", mot);
n=strlen(mot);
printf("\n\n%d",n);
i=1;
while(i<= n/2){
if (mot[i] != mot[n-(i+1)]){
k=0;}
else{
k=1;}
i++;}
if (m=0){
printf("\n\nCe n'est pas un palindrome");}
else{
printf("\n\nC'est un palindrome");}
getch();
}
Merciii d'avance :)
Mais ça ne fonctionne pas correctement :(
Un palindrome est une chaine de caractères qui se lit de gauche à droit ou de droit à gauche et donne le même résultat
Exemple : « radar », « laval ».
C'est mon code en C++ je ne sais pas pourquoi
#include<stdio.h>
#include<string.h>
#include<conio.h>
int main()
{
int n,i,k,m;
char mot[256] ;
printf("entrer le mot a verifier SVP : ");
scanf("%s", mot);
n=strlen(mot);
printf("\n\n%d",n);
i=1;
while(i<= n/2){
if (mot[i] != mot[n-(i+1)]){
k=0;}
else{
k=1;}
i++;}
if (m=0){
printf("\n\nCe n'est pas un palindrome");}
else{
printf("\n\nC'est un palindrome");}
getch();
}
Merciii d'avance :)
3 réponses
Bonjour Sasan202,
Dans la boucle "While", tu as une erreur ..
Tu dis : Si mot[Indice] est différent de ...
ALORS k=0 SINON k=1
Admettons le mot bwwv
Passage n° 1 : compare b et v, mauvais, donc k=0,
Passage n° 2 : compare w et w, mauvais, donc k=1,
On sort de la boucle "While" avec k=1 .. donc, c'est un palindrome
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
En fait, dès qu'il y a une non-concordance entre deux caractères, il faut sortir de la boucle ..
Ou bien, s'arranger pour que le k garde la valeur 0 jusqu'à la sortie de la boucle !
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dans la boucle "While", tu as une erreur ..
Tu dis : Si mot[Indice] est différent de ...
ALORS k=0 SINON k=1
Admettons le mot bwwv
Passage n° 1 : compare b et v, mauvais, donc k=0,
Passage n° 2 : compare w et w, mauvais, donc k=1,
On sort de la boucle "While" avec k=1 .. donc, c'est un palindrome
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
En fait, dès qu'il y a une non-concordance entre deux caractères, il faut sortir de la boucle ..
Ou bien, s'arranger pour que le k garde la valeur 0 jusqu'à la sortie de la boucle !
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~