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++) cout<<setw(5)<<A[I][J]; /* Retour à la ligne */ cout<<endl; } 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 fonction setw(5 ) qui indique que la valeur à afficher utilisera 5 caractères.
cout<<setw(5)<<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++) cin>>A[I][J]; return 0; }