А вот третья. Только оговорюсь сразу: что уважаемые преподы подразумевают под высокопарным термином "нисходящий способ" я, извините, не в курсе. Равно как и про "косовосходящий способ" или "втуманнуюдальуходящий". Потому решаю, как умею.
Код:
Var
A:Array[1..5,1..5] of byte;
C:Array[1..5] of byte;
i,j:byte;
b:boolean;
Begin
Randomize;
Writeln('Matrix A:');
for i:=1 to 5 do
begin
C[i]:=Random(50)+50;
for j:=1 to 5 do
begin
A[i,j]:=Random(50);
Write(A[i,j]:4);
end;
Writeln;
end;
Writeln;
Writeln('Old C array:');
for i:=1 to 5 do Write(C[i]:4);
Writeln;
Writeln;
b:=true;
for i:=1 to 5 do
if A[i,i]>C[i] then b:=false;
If b then
for i:=1 to 5 do
begin
C[i]:=A[i,1];
for j:=2 to 5 do
if A[i,j]<C[i] then C[i]:=A[i,j];
end;
Writeln('New C array:');
for i:=1 to 5 do Write(C[i]:4);
Readln
End.