При составлении программ с использованием двумерных массивов некоторые задачи встречаются особенно часто. Ниже приведены фрагменты соответствующих программ.
Пусть для примера дана матрица а(4, 4).
Задача 1. Найти сумму элементов матрицы а.
sum:=0;
for i:=1 to 4 do
for j:=1 to 4 do
sum:= sum + a[i, j];
Задача 2. Найти максимальный элемент матрицы а.
max:=а[1, 1];
for i:=1 to 4 do
for j:=1 to 4 do
if a[i, j] > max then max:=a[i, j];
Примечание. При вычислении минимального элемента матрицы знак неравенства меняется на противоположный и переменную следует назвать min.
Задача 3. Найти максимальный элемент матрицы a с запоминанием его индексов.
max:=а[1, 1]; k:=1; т:=1;
for i:=1 to 4 do
for j:=1 to 4 do
if a[i, j] > max then
begin max : = a[i, j];
k:=i;
m:=j;
end;
Задача 4. Найти количество положительных элементов матрицы a.
k:=0;
for i:=1 to 4 do
for j:=1 to 4 do
if a[i, j] > 0 then k:=k+1;
Задача 5. Сформировать вектор b из положительных элементов, расположенных в четных строках матрицы а. Фактическое число элементов вектора b неизвестно, т. к. оно зависит от значений элементов матрицы а. В описании вектора b необходимо указать максимально возможное число положительных элементов в четных строках матрицы a.
var a:array [1..4, 1..4] of real;
b: array [1..8] of real;
{2 строки с четными номерами по 4 элемента в каждой строке}
. . . . . . . . . . . . . . . . . . . . . ..
k := 0;
for i:=1 to 4 do
i mod 2 = 0 then
for j:=1 to 4 do
if a[i, j] > 0 then
begin к:=k + 1;
b[k]:=a[i, j];
end;
{фактическое число элементов вектора b определяется значением переменной k}
writeln(¢вывод вектора b¢);
for i:=1 to k do write(b[i]:5:2);
Задача 6. Сформировать вектор b из сумм элементов столбцов матрицы а. Количество элементов в массиве b равно числу столбцов матрицы а.
var а : array [1..4, 1..4] of real;
b : array [1 .. 4] of real;
. . . . . . . . . . . . . . . . . . . . . ..
for j := 1 to 4 do
begin
b[j]:=0;
for i:=1 to 4 do b[j]:=b[j] + a[i, j];
end;
writeln(¢вывод вектора b¢);
for i:=1 to 4 do write(b[i]:5:2);
Задача 7. Найти произведение элементов 2-го столбца матрицы а(4. 4).
p:=1;
for i:=1 to 4 do p:=p*a[i, 2];