До традиційних обчислювальних алгоритмів обробки багатовимірних масивів (матриць) належать: алгоритми пошуку максимальних і мінімальних елементів та номерів рядків і стовпчиків, в яких вони розміщуються; обчислення сум і добутків елементів рядків і стовпчиків; перестановки місцями рядків і стовпчиків; вилучення рядків і стовпчиків; обчислення суми, різниці та добутку матриць; транспонування матриць та інші. Розглянемо деякі з цих алгоритмів.
Розглянемо алгоритм перетворення матриці.
Приклад.Нехай задана матриця
,
. Розробити програму, яка перестановкою рядків і стовпчиків перетворює цю матрицю так щоб мінімальний елемент матриці (вважається, що він єдиний) розмістився в правому нижньому куті.
Алгоритм буде складатися з двох частин. Перша частина – це пошук номера рядка
і номера стовпчика
, на перетині яких розміщений мінімальний елемент матриці. Друга частина – це переміщення мінімального елемента матриці у правий нижній кут. Для цього потрібно поміняти місцями
-ий і
-ий рядки та
-ий і
-ий стовпчики матриці. Програма перетворення матриці має вигляд:
Program LABR4_1;
{$APPTYPE CONSOLE}
uses Sysutils;
VAR a: array[1..15,1..15] of integer;
n, i, j, k, l, r: integer;
BEGIN
{Введення початкових даних}
writeln(‘Введіть розмір матриці а, (n<=15)’);
readln(n);
writeln(‘Введіть елементи матриці а по рядках’);
for i:=1 to n do
for j:=1 to n do
read(a[i,j]);
{Пошук координат мінімального елемента матриці }
k:=1; l:=1;
for i:=1 to n do
for j:=1 to n do
if a[i,j]<a[k,l] then begin k:=i; l:=j;end;
{Перестановка місцями
-го і
-го рядків матриці}
for i:=1 to n do
begin r:=a[n,i]; a[n,i]:=a[k,i]; a[k,i]:=r; end;
{Перестановка місцями
-го і
-го стовпців матриці}
for i:=1 to n do
begin r:=a[i,n]; a[i,n]:=a[i,l]; a[i,l]:=r; end;
{Виведення перетвореної матриці по рядках}
for i:=1 to n do
begin writeln;
for j:=1 to n do
write(a[i,j]:5 );
end;
END.
Розглянемо алгоритм обчислення добутку двох матриць.
Приклад.Нехай задано дві матриці
і
,
. Розробити програму, яка обчислює добуток двох матриць
.
Добутком матриць
і
є матриця
, елементи якої
обчислюються за правилом

тобто елемент
, який стоїть в
-му рядку і
-му стовпчику, дорівнює сумі добутків відповідних елементів
-го рядка матриці
і
-го стовпчика матриці
. Програма обчислення добутку матриць у консольному режимі має вигляд:
Program LABR4_1;
{$APPTYPE CONSOLE}
uses Sysutils;
VAR a, b, c: array[1..15,1..15] of integer;
n, i, j, k: integer;
BEGIN
{Введення початкових даних}
writeln(‘Введіть розмір матриць а і b, (n<=15)’);
readln(n);
writeln(‘Введіть елементи матриці а по рядках’);
for i:=1 to n do
for j:=1 to n do
read(a[i,j]);
writeln(‘Введіть елементи матриці b по рядках’);
for i:=1 to n do
for j:=1 to n do
read(b[i,j]);
{Обчислення добутку матриць a і b }
for i:=1 to n do
for j:=1 to n do
begin c[i,j]:=0;
for k:=1 to n do
c[i,j]:= c[i,j]+a[i,k]*b[k,j];
end;
{Виведення матриці c по рядках}
for i:=1 to n do
begin writeln;
for j:=1 to n do
write(a[i,j]:5 );
end;
readln;
END.