Двумерные массивы (матрицы)

Описание двумерных массивов можно представить следующим образом:

const n =2, m =3; type mas = array[1.. n,1.. m ] of integer; var a: mas;
     
     

Это описание соответствует таблице, состоящей из n=2 строк и m=3 столбцов. При таком описании обращение к конкретному элементу, например, к a 23 (элементу, стоящему во 2-ой строке и 3-м столбце) в Паскале будет выглядеть следующим образом: a [2,3], а его значение в нашем примере (см.таблицу) будет равно 3 (т.е. a [2,3]=3).

Ввод и вывод элементов массива

Ввод данных двумерного массива аналогичен одномерному массиву, осуществлять его можно также несколькими способами.

1 способ: 2 способ:
for i:=1 to n do for j:=1 to n do read(a [ i,j ]); writeln;

for i:=1 to n do for j:=1 to n do begin write(' a [', i, ';', j, ']='); readln(a [ i,j ]); end;

Обратите внимание на апострофы: данные, находящиеся внутри них будут напечатаны на экране без изменения, что позволит отслеживать, какой элемент в данный момент был введен, что очень важно при заполнении данных матрицы (таблицы).

Распечатать элементы массива в виде таблицы на экране можно так:

for i:=1 to n do begin for j:=1 to n do write(a [ i,j ]:4); end;

Такие способы ввода и вывода данных массива распространяются и на массивы большей размерности. Элементы многомерных массивов в памяти компьютера располагаются «по строкам». То есть сначала расположены все элементы первой строки (первый индекс фиксирован и равен своему минимальному значению), затем второй и т.д. Таким образом, при равноправном расположении вложенных циклов для обработки многомерного массива сначала следует организовать цикл по первому индексу, потом по второму и т.д.

Наибольший интерес представляют квадратные матрицы, то есть двумерные массивы, у которых количество строк и столбцов совпадает, например:

a: array[1..3,1..3] of integer;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: