• Aucun résultat trouvé

9.1 Initialisation des chaînes de caractères

N/A
N/A
Protected

Academic year: 2022

Partager "9.1 Initialisation des chaînes de caractères"

Copied!
2
0
0

Texte intégral

(1)

Auteur : Mohamed Messabihi

Matière : Introduction à l'algorithmique k Mohamed.Messabihi@gmail.com

+ https://sites.google.com/site/informatiquemessabihi/

Université Abou Bakr Belkaïd - Tlemcen Faculté des sciences 1ère L.M.D. MI 2014-2015

9 TP : Manipulation des chaînes de caractères

9.1 Initialisation des chaînes de caractères

Lesquelles des chaînes suivantes sont initialisées correctement ? Corrigez les déclarations fausses et indiquez pour chaque chaîne de caractères le nombre d'octets qui sera réservé en mémoire.

1 char a[ ] = "un\ ndeux \ ntrois \n"; 2 char b[12] = "un deux trois ";

3 char c[ ] = 'abcdefg ';

4 char d[10] = 'x';

5 char e[5] = " cinq ";

6 char f[ ] = " Cette " " phrase " " est coupée "; 7 char g[2] = {'a', '\0 '};

8 char h[4] = {'a', 'b', 'c'};

9 char i[4] = "'o'";

9.2 Fonctions utiles

1. Écrire la fonction chaine_Majuscule qui convertit toutes les lettres d'une chaîne en ma- juscules, sans utiliser de variable d'aide. Exemple : "Toto1 Loulou2" devient "TOTO1 LOULOU2"

2. Écrire une fonction supprime_Espace qui supprime les espaces et tabulations d'une chaîne de caractères. Cette fonction ne doit pas utiliser de tableau intermédiaire. Exemple :

"ceci est une phrase !" devient "ceciestunephrase !"

3. Écrire une fonction uniquement_Lettres prenant pour paramètre une chaîne de caractères s et retournant une chaîne contenant uniquement les lettres de s. Exemple : "aB'3$ @kj

" devient "aBkj".

4. Écrire une fonction iverse_Chaine qui inverse une chaîne de caractères et met le résultat dans une autre. Les chaînes sont données en argument. Exemple : " ! looc" devient

"cool !"

5. Écrire la fonction nombreMots qui retourne comme résultat le nombre de mots contenus dans une chaîne de caractères CH.

6. Écrire la fonction frequenceMot qui retourne le nombre d'occurrence d'un mot m dans une chaîne de caractère CH.

7. Écrire un programme pour tester toutes les fonctions précédentes.

B Mohamed.Messabihi@gmail.com Page 1

(2)

9.3 Palindrome

Un palindrome strict est une séquence de caractères symétrique. Par exemple il peut s'agir d'un mot qui peut-être lu indiéremment dans un sens ou dans l'autre. Par exemple : radar, elle, kayak, etc.

1. Écrire une fonction booléenne est_Palindrome_Strict qui permet de tester si une chaîne de caractères est un palindrome strict.

D'autre chaînes peuvent également être qualiées de palindromes non strict : ce sont les phrases dont la séquence des lettres formant les mots forment un palindrome strict lorsque l'on supprime les signes de ponctuation.

Par exemple :

"Engage le jeu que je le gagne"

"Eh ! ca va la vache ?"

2. Écrire une fonction est_Palindrome prenant pour paramètre une chaîne de caractères et renvoyant 1 s'il s'agit d'un palindrome non strict et 0 sinon.

Remarque.

On ne considère ici aucune lettre accentuée.

Pensez à réutiliser les fonctions dénies dans l'exercice précédent.

9.4 Chaînes de caractères vs Nombres

1. Écrire la fonction stringToInt qui retourne la valeur numérique d'une chaîne de carac- tères représentant un entier (positif ou négatif) du type long. Si la chaîne ne représente pas une valeur entière correcte, la fonction arrête la conversion et fournit la valeur qu'elle a su reconnaître jusqu'à ce point.

2. Écrire la fonction stringToDouble qui retourne la valeur numérique d'une chaîne de caractères représentant un réel en notation décimale. Si la chaîne ne représente pas une valeur décimale correcte, la fonction arrête la conversion et fournit la valeur qu'elle a su reconnaître jusqu'à ce point.

3. Écrire la fonction intToString qui construit une chaîne de caractères CH qui représente un nombre entier N du type long.

4. Écrire la fonction doubleToString qui construit une chaîne de caractères CH qui repré- sente un nombre réel N avec 4 positions derrière la virgule.

5. Écrire un programme principal pour tester les fonctions ci-dessus.

B Mohamed.Messabihi@gmail.com Page 2

Références

Documents relatifs

• Le traitement de liste est souvent réalisé à l’aide de fonctions récursives (il n’existe pas d’équivalent fonctionnel direct des boucles). • Calcul de la longueur

Il faut donc faire défiler le message dans buffer, c'est à dire copier message dans buffer à partir d'une position donnée, afficher son contenu pendant un instant donné

Pour accéder à un élément, dans une itération donnée, on le fait via le registre SI...

(e) Écrire une fonction jeu() qui définit une chaine de caractères secrete en utili- sant la fonction combinaison_aleatoire , appelle la fonction saisie , affiche le nombre

- Ecrire une fonction récursive qui calcule le PGCD de deux entiers positifs. On suppose qu’on ne peut effectuer que

Exercice 4: Écrire une fonction qui supprime la première occurrence d’un caractère motif dans une chaîne de caractères source,2. void supp (char motif,

Complétez ce code de sorte à ce qu’il vous permette de découvrir où est stocké le paramètre t de la fonction fct, par rapport à la position en mémoire où le tableau tmp

Lecture fichier binaire : données stockées dans une chaîne de caractères... 3.2 str : chaîne d’octets (pas