Accès aux chaînes
Il est possible d'accéder aux différentes chaînes de caractères d'un tableau, en indiquant simplement la ligne correspondante.
Exemple
L'exécution des trois instructions suivantes:
char JOUR[7][9]= {"lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", "dimanche"}; int I = 2; printf("Aujourd'hui, c'est %s !\n", JOUR[I]);
affichera la phrase:
Aujourd'hui, c'est mercredi !
Affectation
Des expressions comme JOUR[I] représentent l'adresse du premier élément d'une chaîne de caractères. N'essayez donc pas de 'modifier' une telle adresse par une affectation directe !
Exemple
La commande
strcpy(JOUR[4], "Friday");changera le contenu de la 5e composante du tableau JOUR de "vendredi" en "Friday".
Accès aux caractères
Evidemment, il existe toujours la possibilité d'accéder directement aux différents caractères qui composent les mots du tableau.
Exemple
L'instruction
for(I=0; I<7; I++) printf("%c ", JOUR[I][0]);
va afficher les premières lettres des jours de la semaine:
l m m j v s d
Ecrire un programme qui lit 10 mots et les mémorise dans un tableau de chaînes de caractères. Trier les 10 mots lexicographiquement en utilisant les fonctions strcmp et strcpy. Afficher le tableau trié. Utilisez la méthode de tri par sélection directe (voir Exercice 7.14).
Ecrire un programme qui lit un nombre entre 1 et 7 et qui affiche le nom du jour de la semaine correspondant:
"lundi"
|
pour
1
| |
"mardi"
|
pour
2
| |
.
. .
|
.
. .
| |
"dimanche"
|
pour
7
|
Ecrire un programme qui lit 5 mots, séparés par des espaces et qui les affiche ensuite dans une ligne, mais dans l'ordre inverse. Les mots sont mémorisés dans un tableau de chaînes de caractères.
Exemple
voici une petite phrase ! ! phrase petite une voici
Refaire l'exercice 8.8 (Conjugaison des verbes réguliers en "er") en utilisant deux tableaux de chaînes de caractères:
SUJ
|
pour
les sujets
| |
TERM
|
pour
les terminaisons
|