Главная / Информатика / Преобразование матриц

Преобразование матриц

Дано: Действительная квадратная матрица порядка n. Найти наибольшее из значений элементов, расположеных в заштрихованной части матрицы:

Блок-схема:

Программа:

Program pr_2_2;

Uses crt;

Type mas=Array[0..100,0..100]Of real;

Var n:integer;

a:mas;

max:real;

Procedure input(var a:mas;n:integer);

var i, j:integer;

Begin

for i:=0 To n Do

Begin

for j:=0 To n Do

begin

writeln(‘введите a’,i+1:3,j+1:3);

readln(a[i, j]);

end;

End;

end;

Procedure output(Const b:mas;n:integer);

Var i, j:integer;

Begin

For i:=0 To n Do

begin

for j:=0 To n Do

begin

write(b[i, j]:8:3);

end;

writeln;

end;

End;

Function abr(Const a:mas;n:integer):real;

var i, k:integer;

f:real;

begin

f:=a[0,0];

for k:=0 To trunc(n/2) Do

Begin

for i:=k To n-k Do

if a[k, i]>f Then f:=a[k, i];

End;

abr:=f;

End;

Begin

clrscr;

writeln(‘введите n’);

readln(n);

n:=n-1;

input(a, n);

max:=abr(a, n);

output(a, n);

writeln(‘max=’,max:8:3);

End.

Результат:

При вводе 2 и от 1 до 4:

1.000 2.000

3.000 4.000

Max= 2.000