Previous Next Up Index Contents

7.2.4. Affichage et affectation


Lors du travail avec les tableaux à deux dimensions, nous utiliserons deux indices (p.ex: I et J), et la structure for, souvent imbriquée, pour parcourir les lignes et les colonnes des tableaux.

- Affichage du contenu d'un tableau à deux dimensions

Traduisons le programme AFFICHER du langage algorithmique en C:

programme AFFICHER
|   entier tableau A[5,10]
|   entier I,J
|   (* Pour chaque ligne ... *)
|   pour I variant de 1 à 5 faire  
|     (* ... considérer chaque composante *)
|     pour J variant de 1 à 10 faire  
|       écrire A[I,J]
|     fpour
 |     (* Retour à la ligne *)
|     écrire 
|   fpour
fprogramme
main()
{
 int A[5][10];
 int I,J;
 /* Pour chaque ligne ... */
 for (I=0; I<5; I++)  
   {
    /* ... considérer chaque composante */
    for (J=0; J<10; J++)  
           printf("%7d", A[I][J]);
    /* Retour à la ligne */
    printf("\n");         
   }
 return 0;
}

Remarques

* Avant de pouvoir afficher les composantes d'un tableau, il faut leur affecter des valeurs.

* Pour obtenir des colonnes bien alignées lors de l'affichage, il est pratique d'indiquer la largeur minimale de l'affichage dans la chaîne de format. Pour afficher des matrices du type int (valeur la plus 'longue': -32768), nous pouvons utiliser la chaîne de format "%7d" :

printf("%7d", A[I][J]);

- Affectation avec des valeurs provenant de l'extérieur

Traduisons le programme REMPLIR du langage algorithmique en C:

programme REMPLIR
|   entier tableau A[5,10]
|   entier I,J
|   (* Pour chaque ligne ... *)
|   pour I variant de 1 à 5 faire  
|     (* ... considérer chaque composante *)
|     pour J variant de 1 à 10 faire  
|       lire A[I,J]
|     fpour
|   fpour
fprogramme
main()
{
 int A[5][10];
 int I,J;
 /* Pour chaque ligne ... */
 for (I=0; I<5; I++)
   /* ... considérer chaque composante */
   for (J=0; J<10; J++)
           scanf("%d", &A[I][J]);
 return 0;
}


Exercice 7.5

Ecrire un programme qui lit les dimensions L et C d'un tableau T à deux dimensions du type int (dimensions maximales: 50 lignes et 50 colonnes). Remplir le tableau par des valeurs entrées au clavier et afficher le tableau ainsi que la somme de tous ses éléments.


Exercice 7.6

Ecrire un programme qui lit les dimensions L et C d'un tableau T à deux dimensions du type int (dimensions maximales: 50 lignes et 50 colonnes). Remplir le tableau par des valeurs entrées au clavier et afficher le tableau ainsi que la somme de chaque ligne et de chaque colonne en n'utilisant qu'une variable d'aide pour la somme.


Exercice 7.7

Ecrire un programme qui transfère un tableau M à deux dimensions L et C (dimensions maximales: 10 lignes et 10 colonnes) dans un tableau V à une dimension L*C.

Exemple:

   /         \
   | a b c d |        /                         \
   | e f g h |  ==>   | a b c d e f g h i j k l |
   | i j k l |        \                         /
   \         /


Previous Next Up Index Contents

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