Задана квадратная матрица порядка N. Требуется вывести минимальные элементы каждой ее диагонали, параллельной побочной диагонали — Pascal(Паскаль)

uses crt;
var m,i,j,l,min:integer;
    a:array[1..20,1..20]of integer;
begin
clrscr;
write('m=');readln(m);
randomize;
Writeln('Ishodnaja matrica:');
for i:=1 to m do
   begin
     for j:=1 to m do
         begin
           a[i,j]:=random(50)+10;
           write(a[i,j]:4);
         end;
      writeln;
   end;
for l:=1 to 2*m-1 do
  begin
    if l<=m then{если сама побочная не нужна, то l<m}
      begin
       min:=a[l,1];
       for i:=1 to l do
       for j:=1 to l do
       if (j=l-i+1)and(a[i,j]<min) then min:=a[i,j];
      end
    else if l>m then
      begin
       min:=a[l-m+1,m];
       for i:=l-m+1 to m do
       for j:=l-m+1 to m do
       if (j=l-i+1)and(a[i,j]<min) then min:=a[i,j];
      end;
    writeln('Min na diagonali ',l,' = ',min);
 end;
readln
end.

Leave a Comment

+ 83 = 93