Les tableaux
CHAPITRE 7
128
10 Quelques techniques classiques appliquées aux
tableaux à deux dimensions
Les techniques utilisées pour calculer la somme ou le maximum de plusieurs valeurs d’un
tableau à une dimension peuvent s’appliquer sans difficultés au cas des tableaux à deux
dimensions. Soit t un tableau de 1000 entiers réservé par la déclaration :
tableau entier t[20, 50]
Les instructions suivantes en calculent la somme dans la variable entière nommée som (les
variables i et j sont supposées de type entier) :
som := 0 ;
répéter pour i := 1 à 20
répéter pour j := 1 à 50
som := som + t[i, j]
En ce qui concerne la détermination de la plus grande des valeurs d’un tableau à deux dimensions, la généralisation est un petit peu moins évidente. En effet, on pourrait penser initialiser une variable (par exemple max) avec l’élément repéré par les indices 1 et 1 :
max = t[1, 1] ;
Mais il nous faudrait alors comparer max avec chacun des éléments de t, excepté t[1 1], ce
qui serait peu facile à programmer. En fait, nous pouvons remarquer que nous ne modifierons
pas la valeur du maximum en comparant à nouveau avec max l’élément t[1, 1]. D’où une
solution simple :
max := t[1, 1]
répéter pour i := 1 à 20
// attention, on commence ici à 1
répéter pour j := 1 à 50
si t[i, j] > max alors max := t[i, j]
Exercice 7.10 Écrire les instructions permettant de déterminer la position du plus grand
élément du tableau t précédent. Plus précisément, on s’arrangera pour obtenir, dans des
variables entières nommées imax et jmax, les valeurs des deux indices permettant de repérer ce plus grand élément.
11 Gestion de l’emplacement mémoire
d’un tableau
Jusqu’ici, nous avons raisonné comme si les adresses des variables et des tableaux étaient
déterminées lors de la traduction du programme. C’est effectivement ce qui se produit dans
bon nombre de langages compilés et l’on parle alors d’allocation statique de la mémoire.
Mais il nous faut commencer à nuancer cette affirmation dans la mesure où il existe d’autres
façons d’attribuer un emplacement mémoire à une variable ou à un tableau. En effet, la plu-
Précédent

- 151/370

Suivant