Langage C -
Travaux Dirigés n° 5
Exercice n° 1 (Longueur d'une chaîne)
Écrire une fonction strlength qui
calcule la longueur d'une chaîne.
Exercice n° 2 (Comparaison de chaînes)
Écrire une fonction strcomp qui
compare deux chaînes de caractères pour l'ordre lexicographique. Cette fonction
rendra -1, 0 ou 1 comme le fait la fonction strcmp de la librairie standard.
Exercice n° 3 (Supressions des espaces)
Écrire une fonction delspace qui
supprime les espaces et tabulations d'une chaîne de caractères. Cette fonction
ne doit pas utiliser de tableau intermédaire. Le morceau de codechar s[] = "bonjour à tous";
delspace(s);
printf("s = \"%s\"\n", s);
doit afficher le résultat s = "bonjouràtous".
Exercice n° 4 (Substitution)
Écrire une fonction strsubs qui
substitue une chaîne de caractères dans une autre chaîne. Cette fonction prend
les quatre paramètres suivants :
1.
une chaîne str à l'intérieur de laquelle s'effectue
la substitution.
2.
une chaîne motif qui remplace une partie de la
chaîne str.
3.
une position pos dans
la chaîne str à partir de laquelle on commence à
remplacer les caractères de str par ceux de motif.
4.
un nombre len qui donne le nombre maximal de
caractères à substituer. La fonction en substitue moins si les fins des
chaînes str ou motif sont atteintes avant.
La
fonction strsubs retourne le
nombre de caractères qu'elle a effectivement substitués. Le morceau de code
char s[] = "bonjour à tous";
strsubs(s, "soirée", 3, 4);
printf("s = \"%s\"\n", s);
doit afficher le résultat s = "bonsoir à tous".
Exercice n° 5 (Retournement d'une chaîne)
Écrire une fonction strrev qui
renverse une chaîne. Le morceau de codechar s[] = "bonjour à tous";
strreverse(s);
printf("s = \"%s\"\n", s);
doit afficher le résultat s = "suot à ruojnob". Comme utiliser la fonction strreverse pour tester si une chaîne est un palindrome ? Écrire
une fonction qui teste directement si une chaîne est un palindrome.

Enregistrer un commentaire