Palindrome

Contenu du snippet

en langege c
c est un palindrome comme LAVAL
RADAR

Source / Exemple :


#include <stdio.h>
main()
{
 /* Déclarations */
 char CH[101]; /* chaîne donnée    */
 int I,J;      /* indices courants */
 int PALI;     /* indicateur logique:          */ 
               /* vrai si CH est un palindrome */
 
  /* Saisie des données */
 printf("Entrez une ligne de texte (max.100 caractères) :\\n");
 gets(CH);
 /* Placer J sur la dernière lettre de la chaîne */
 for(J=0; CH[J]; J++)
     ;
 J--;
 /* Contrôler si CH est un palindrome */
 PALI=1;
 for (I=0 ; PALI && I<J ; I++,J--)
      if (CH[I] != CH[J])
          PALI=0;
 
  /* Affichage du résultat */
 if (PALI)
    printf("La chaîne \\"%s\\" est un palindrome.\\n", CH);
 else
    printf("La chaîne \\"%s\\" n'est pas un palindrome.\\n", CH);
 return 0;
}

b) en utilisant des pointeurs au lieu des indices numériques :

#include <stdio.h>
main()
{
 /* Déclarations */
 char CH[101];  /* chaîne donnée    */
 char *P1,*P2;  /* pointeurs d'aide */
  int PALI;  /* indicateur logique:          */
            /* vrai si CH est un palindrome */
 
  /* Saisie des données */
 printf("Entrez une ligne de texte (max.100 caractères) :\\n");
 gets(CH);
 /* Placer P2 sur la dernière lettre de la chaîne */
 for (P2=CH; *P2; P2++)
      ;
 P2--;
 /* Contrôler si CH est un palindrome */
 PALI=1;
 for (P1=CH ; PALI && P1<P2 ; P1++,P2--)
      if (*P1 != *P2) PALI=0;
  /* Affichage du résultat */
 if (PALI)
    printf("La chaîne \\"%s\\" est un palindrome.\\n", CH);
 else
    printf("La chaîne \\"%s\\" n'est pas un palindrome.\\n", CH);
 return 0;
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.