Previous Next Up Index Contents

8.7.2. Accès aux différentes composantes


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 !

Attention!

L'attribution d'une chaîne de caractères à une composante d'un tableau de chaînes se fait en général à l'aide de la fonction strcpy:

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


Exercice 8.11

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).


Exercice 8.12

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
Utiliser le premier élément du tableau pour mémoriser un petit message d'erreur.


Exercice 8.13

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


Exercice 8.14

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
Employez les fonctions printf, scanf, strlen.


Previous Next Up Index Contents

Feedback - Copyright © 1993,1996,1997 F.Faber