Votre IP: 38.107.179.244 
  
 
Google
 
Accueil e-mail Linux
Linux
Perl
Perl
C
Langage C
Dico
Dictionnaire
Biblio liens
Bibliothèque de liens
Index articles
Index articles
 

Date création : 31-12-2007 21:51:05
Date de la dernière modification : 12-01-2008 14:05:52
C  Vous êtes dans : Langage C Astuces / Chaînes de caractères

Ennoncé
:

Vérifier qu'une suite de caractere constitue un palindrome.

Solution :

#include <stdio.h>
#include<string.h>

int main (int argc, char **argv)
{
  char mot[20];
  int i, j, palindrome;
  palindrome = 0;

  printf ("Entrez un mot : ");
  scanf ("%s", mot);
  for (i = 0, j = strlen (mot) - 1; i <= j; ++i, --j){
      if (mot[i] == mot[j])
        palindrome = 1;
      else {
          palindrome = 0;
          break;
      }
  }

  if (palindrome == 1)
    printf ("%s est un palindrome\n", mot);
  else
    printf ("%s est n'est pas un palindrome\n", mot);

  return 0;
}

Explication :

Définition Palindrome
Mots, phrase pouvant être lus de droite à gauche et de gauche à droite tout en conservant exactement le même sens.
La boucle for (i = 0, j = strlen (mot) - 1; i <= j; ++i, --j), parcourt la chaîne dans les 2 sens jusqu'au milieu.
La variable i commence au début de la chaîne.
La variable j commence à la fin de la chaîne.
Si le caractère designé par i est égal avec le caractère designé par j alors la condition d'être palindrome est vraie.
Dès qu'un caratère ne correspond pas, la condition d'être palindrome est fausse, et nous sortons de la boucle, la variable palindrome vaut zéro.
Si la boucle arrive à la fin est la variable palindrome vaut 1, donc elle est vraie, alors nous avons un palindrome.
Création : octobre 2007  © Tous droits réservés 2007 linux-perl-c
Valid HTML 4.01 TransitionalValid CSS