Verification si le mot est palindrome

sdiri_med Messages postés 18 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 31 octobre 2010 - 31 mars 2009 à 20:30
sdiri_med Messages postés 18 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 31 octobre 2010 - 11 juil. 2009 à 08:03
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

sdiri_med Messages postés 18 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 31 octobre 2010
31 mars 2009 à 20:31
j'ai oublié de vous dire système d'exploitation windows vista sp1
coùpilateur devc++
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
31 mars 2009 à 22:48
http://www.cppfrance.com/codes/PALINDROME-OU-PAS_27468.aspx

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

ciao...
BruNews, MVP VC++
0
sdiri_med Messages postés 18 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 31 octobre 2010
11 juil. 2009 à 07:47
bonjour
la différence ,c'est que je dois trouver une solution sans l'utilisation de la bib string.h
0
sdiri_med Messages postés 18 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 31 octobre 2010
11 juil. 2009 à 08:03
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
0
Rejoignez-nous