Двумерный массив.
Двумерным массивом называется совокупность однотипных данных, каждое значение которых, зависит от его положения в строке и в столбце.
Двумерный массив можно представить себе в виде таблицы, в которой все строки и столбцы пронумерованы. Каждый элемент такого массива имеет два индекса: Первый индекс – это номер строки; Второй индекс – номер столбца. А[2, 3] А[2, 3]Номер строки Номер столбца строки Номер столбца A[1,1]A[1,2]A[1,3]A[1,4]A[1,5] A[2,1]A[2,2]A[2,3]A[2,4]A[2,5] A[3,1]A[3,2]A[3,3]A[3,4]A[3,5] A[4,1]A[4,2]A[4,3]A[4,4]A[4,5]
Каждый элемент двумерного массива описывается как a[i,j], где: где: а – имя массива i - индекс строки j – индекс столбца
Описание массива в разделе var аналогично описанию одномерного массива, только теперь необходимо указывать диапазон изменения столбцов и строк. :array [1..n,1..m] of ; :array [1..n,1..m] of ; Var a:array [1..n,1..m] of integer;
Для ввода массива в память существует много способов, это зависит от направления задачи. Рассмотрим два самых распространенных способа:
Oрганизация ввода элементов с клавиатуры For I:=1 to n do For j:= 1 to m do Read(a[i,j]);
заполнение случайными числами заполнение случайными числамиRandomize; For I:=1 to n do Begin Begin For j:=1 to n do Begina[i,j]:=random(10);write(a[i,j]:5);End;Writeln;End;
При такой записи значения элементов генерируются и выводятся на экран в виде таблицы
Пример программы ввода двумерного массива Паскаля с клавиатуры
Program vvod; a:array [1..5, 1..10] of integer; var i, j: integer; { индексы массива } begin for i :=1 to 5 do {цикл для перебора всех строк} for i :=1 to 5 do {цикл для перебора всех строк} for j :=1 to 10 do {перебор всех элементов строки по столбцам} for j :=1 to 10 do {перебор всех элементов строки по столбцам} readln ( a [ i, j ]); {ввод с клавиатуры элемента, стоящего в i -й строке и j -м столбце} readln ( a [ i, j ]); {ввод с клавиатуры элемента, стоящего в i -й строке и j -м столбце}end.