Exercice langage C: Conversion et palindrome

Exercice langage C
[tab name=’Exercice langage C’]

Exercice 1

Ecrivez une fonction qui convertit une chaîne de caractères contenant un entier positif en int. La fonction prendra une chaîne de caractères en paramètres et retournera un int. Si la chaîne de caractères contient des caractères non-valides (autres que les chiffres de 0 à 9), la fonction devra retourner 0. Contrairement à l’exercice 2, il ne faut pas utiliser a toi, sinon l’exercice serait trivial.

Exercice 2

Ecrivez une fonction qui demande à l’utilisateur d’entrer une chaîne de caractères et qui vérifie si celle-ci est un palindrome. Un palindrome est un mot qui s’écrit de la même manière à l’endroit et à l’envers. Exemple:

sms est un palindromeExercice langage C

stylo n’est pas un palindrome

ressasser est un palindrome

[/tab][tab name=’Correction’]

 Exercice 1

 int string_to_int(char *chaine) {
      int longueur = strlen(chaine);
      int resultat = 0;
      bool erreur = false;

      for (int i=0; i<longueur; i++)
        if (chaine[longueur - 1 - i] >= '0' && chaine[longueur - 1 - i] <= '9')
          resultat += int(pow(10, i) * (chaine[longueur - 1 - i] - '0'));
        else
          erreur = true;

      if (erreur)
        return 0;
      else
        return resultat;
    }

Exercice 2

bool palindrome(char *chaine) {
      bool result = true;
      int longueur = strlen(chaine);
      int i = 0;

      while (i < longueur / 2 && result) {
        if (chaine[i] != chaine[longueur - 1 - i])
        result = false;
        i++;
      }

      return result;
    }

Exercice langage C

[/tab][end_tabset skin= »ginger » ]

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.