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 palindrome
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 » ]