Verification si le mot est palindrome

Signaler
Messages postés
18
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
31 octobre 2010
-
Messages postés
18
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
31 octobre 2010
-
Salut

Je n’ai pas arrivé à résoudre un problème de vérification d'une chaine de caractères. Le
problème consiste à vérifier si un mot est palindrome ou non sans
l’utilisation de la <string.h>

J’ai tapé le code pas mal de fois mais sa marche pas avec moi pourriez vous m'aidez svp
exemple d'un mot palindrome : laval tjr ch[i] = = ch[j] 

voila  code:
#include<stdio.h>
 

int main ()
{
char N, ch[30];
int i, k, j, p, m;
printf("tapez une chaine de caractères 'caractère par caractère '"
"tapez N pour terminer:\n");
j = 0;for(i 0; ch[i] 'N' || i <= 30; i++)
{
scanf ("%c", &ch[i]);
i = j;
}
i = 0;
k = j;
m = 3;
if(j % 2 == 0)
{for(i 0, j k; i <= (k / 2) || j > (k / 2); i++, j--)
{
if(ch[i] == ch[j])
{
m = 1;
}
else
{
m = 0;
}
}
}
else
{for(i 0, j k;
i <= (k / 2) || (j > ((k / 2) + 1))/* -, +; */ ; i++, j--)
{
if(ch[i] == ch[j])
{
m = 1;
}
else
{
m = 0;
}
}
}
if(m = 1)
{
printf ("la chaine est palindrome \n");
}
else
{
printf (" \n la chaine n'est pas palindrome");
}
return(0);
}

4 réponses

Messages postés
18
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
31 octobre 2010

j'ai oublié de vous dire système d'exploitation windows vista sp1
coùpilateur devc++
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
http://www.cppfrance.com/codes/PALINDROME-OU-PAS_27468.aspx

regarde le 1er commentaire sous la source, tout y est.

ciao...
BruNews, MVP VC++
Messages postés
18
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
31 octobre 2010

bonjour
la différence ,c'est que je dois trouver une solution sans l'utilisation de la bib string.h
Messages postés
18
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
31 octobre 2010

bonjour voila un autre code "amélioré un peux mais sa donne pas résultats souhaiter de lui "


#include<stdio.h>
#include<conio.h>
int main()
{    int n;
    char ch[n];
    int i,m,k,p,j;
    m=1;
    puts("donne une chaine de caractaire\n");
    gets(ch);
    printf("la chaine tape est :%s\n",ch);
   
     for (j=0;ch[j];j++)  //compte le nb de caracteres "comme laal"
    ;
    printf("\nnombres de caractéres est:%d",j);
    p= j%2;
    k=j/2;
    if (p==0) // le cas d'un mot don les caracteres multiple de 2
    {
    for(i=1;i==k,j==k+1;i++,j--)
         {   
             if(ch[j]==ch[i] )
                {
                    m=0;
                }
             else
              {
                    break;
                    puts("le chainne ne pas palendrome");
               }
        }
      }
else
{
        for(i=1;i==k,j==k+2;i++,j--) // le cas  le de caracteres d'un mot impaire "comme laval"
        {
          if(ch[j]==ch[i])
               {
                      m=0;
                }      
          else
                {
                     break;
                     puts("le chainne ne pas palendrome");
                 }
          }
}
if(m==0){    printf("lachaine est palindrome",j);}
getch();
return(0);
}

merci d'avance