Дано: Действительная квадратная матрица порядка 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