Présentation 
Très souvent, lorsque vous travaillez avec des informations, vous devez traiter des données tabulaires. Les programmes modernes fonctionnent très souvent avec de telles données. L'exemple le plus simple est la programmation de jeux sur un damier : tic-tac-toe, échecs, dames, etc.

En mathématiques, ces structures sont appelées matrices.
 
Une matrice est un tableau rectangulaire composé d'éléments de même type (chiffres, chaînes, etc. .)< /div>
De telles données en Pascal peuvent être stockées et traitées sous forme de tableaux à deux dimensions - "tableaux de tableaux".
Pour traiter les données du tableau, il est nécessaire de se souvenir de l'état de chaque cellule (cellule). Chaque cellule a deux nombres : un numéro de ligne et un numéro de colonne.
Dans la matrice, chaque élément a deux indices : d'abord le numéro de ligne est indiqué, puis le numéro de colonne. La numérotation des lignes et des colonnes commence à zéro.
Par exemple, l'élément A[1][2] est l'élément situé dans la deuxième ligne et la troisième colonne.

Tout comme avec les tableaux ordinaires (listes), pour travailler avec des matrices, vous devez apprendre à les créer, les saisir, les traiter et les afficher.
 
Création de matrice
Tâche
Créer en mémoire une matrice de la taille donnée remplie de zéros.

Pour créer correctement une matrice, vous devez forcer le compilateur à créer toutes les chaînes en mémoire en tant qu'objets différents.
Pour ce faire, vous devez d'abord créer un tableau vide, puis spécifier le nombre de lignes dans la matrice, puis spécifier le nombre d'éléments dans chaque ligne à l'aide de la méthode setLength() dans une boucle : N := 3 M := 2 setLength(A, N); pour i := 0 à N - 1 faire   setLength(A[i], M);

 

Remplir une matrice avec des valeurs arbitraires
Après avoir créé une matrice, vous pouvez la remplir avec des valeurs arbitraires. Comme chaque élément a deux indices, il est nécessaire d'utiliser des boucles imbriquées for i := 0 to N do begin for j := 0 to M do begin A[i][j] := ...   fin; fin;  
Afficher la matrice

Deux boucles imbriquées sont généralement utilisées pour traiter et afficher la liste. Le premier cycle est par le numéro de ligne, le deuxième cycle est par les éléments à l'intérieur de la ligne.
Afin d'afficher la matrice ligne par ligne, en séparant les nombres par des espaces sur une ligne, vous devez écrire le fragment suivant :

for i := 0 to length(A) - 1 do begin // length(A) - renvoie le nombre de lignes dans la matrice A     for j := 0 to length(A[i]) - 1 do // length(A[i]) - renvoie le nombre d'éléments dans la chaîne i         écrire(a[i][j], ' ');     écrireln(); // fait une nouvelle ligne après l'affichage de la ligne fin;

Identique, mais cycles non pas par index, mais par valeurs de liste (la boucle for peut itérer sur tous les éléments de la liste (tableau), chaîne) :

for row in a do begin // itération sur toutes les lignes de la matrice a     for elem in row do // boucle sur tous les éléments de la ligne         écrire (elem, ' ');     écrireln(); fin;

Remplir une matrice avec des valeurs du clavier

Laissez le programme recevoir un tableau à deux dimensions en entrée, sous la forme de n lignes, chacune contenant m nombres séparés par les espaces. Vous pouvez enregistrer ces données dans un tableau à deux dimensions comme celui-ci :

lire(n, m); définir la longueur (a, n); for i:= 0 to n - 1 do begin     setlength(a[i], m);     for j := 0 to m - 1 do read(a[i][j]); fin;

Chaque élément de la matrice a deux indices, vous devez donc utiliser une boucle imbriquée pour itérer sur tous les éléments.
Habituellement, une matrice est itérée ligne par ligne : la boucle externe itère sur les indices de ligne, tandis que la boucle interne itère sur les indices de colonne.
Mais si nécessaire, vous pouvez itérer sur la matrice et les colonnes, puis les cycles sont inversés.