Описание двумерных массивов.
Двумерный массив представляет собой матрицу. Индекс двумерного массива состоит из номера строки и номера столбца, на пересечении которых находится элемент. К элементу двумерного массива обращаются, указывая через запятую номер строки и номер столбца, например, a[3,3], a[1,2].
Объявление двумерного массива аналогично объявлению одномерных массивов:
Const n=4; m=3;
Type mas= array[1..m,1..n] of integer;
Var a,b:mas;
Заполнение двумерного массива.
Присвоить элементам двумерного массива значения можно, также как для одномерного:
1) вводя значения с клавиатуры;
2) случайными числами;
3) вычисляя значение по формуле.
Примеры заполнения двумерного массив, содержащего 8 строк и 12 столбцов случайными числами:
1) построчно (индекс строк меняется медленнее, чем индекс столбца)
for i:=1 to 8 do
for j:=1 to 12 do
a[i, j]:=random(100);
2) по столбцам (индекс столбца меняется медленнее, чем индекс строки)
for j:=1 to 12 do
for i:=1 to 8 do
a[i, j]:=random(100);
Примеры.
1. Найти минимальный по модулю элемент каждой строки матрицы.
Program example1;
Const m=5; n=8;
Var a:array[1..m, 1..n] of real;
i,j:integer;
jmin:integer;{номер строки с минимальным элементом}
begin
for i:=1 to m do
for j:=1 to n do
Read(a[i,j])
for i:=1 to m do begin
jmin:=1;
for j:=2 to n do
if abs([a[i,j]) < abs(a[i, jmin]) then jmin:=j;
writeln(’минимальный по модулю элемент в строке ‘,i, ‘ в столбце ‘, j, ‘равен ’ a[i, jmin]:5:1)
end
end.
2. В двумерном массиве а(5,5) найти среднее арифметическое значение чётных элементов массива.
Program example2;
Const m=5; n=5;
Var a:array[1..m, 1..n] of integer;
S, k, i, j: integer;
Sr:real;{среднее значение чётных элементов }
begin
for i:=1 to m do
for j:=1 to n do
Read(a[i,j])
S:=0;
K:=0;
for i:=1 to m do begin
for j:=2 to n do
if a[i, j] mod 2=0 then
begin
s:=s+a[i, j];{сумма чётных элементов}
k:=k+1; {количество чётных элементов}
end;
if k=0 then writeln(‘чётных элементов в массиве нет’)
else begin
sr:=s/k;
writeln(‘sr=’,sr:5:2)
end;
end.