﻿PROGRAM B15;

CONST
    max = 100;
TYPE
    matrix = array[1..max,1..max]of shortint;
VAR
    ar:matrix;
    num:byte;
    i,j:byte;
    top,bot:shortint;
    r:boolean;//

BEGIN
    num := 6;
    write('Введите размер матрицы n. (1<n<11) ');
    readln(num);
    writeln();    
    for i:=1 to num do begin
      for j:=1 to num do begin
        ar[i,j]:=random(-36,127);
        write(ar[i,j]:6);
      end;
      writeln();
    end;
    writeln();

    top:=127;//минимум сверху диагонали
    bot:=127;//минимум снизу диагонали
    r:=true;//если true то выше, false- то ниже

    for i:=1 to num do begin
      for j:=1 to num do begin

        if (i = num-j+1) then begin //мы на диагонали
          r:=not r; // поменяли верх/низ
          write(' ':6);
        end else begin 
          write(ar[i,j]:6);
          
          if (top > ar[i,j]) and r then
            top:=ar[i,j];
          if (bot > ar[i,j]) and not r then
            bot:=ar[i,j];        
        end;
        
      end;
      r:=true; // новая строка, верх
      writeln();
    end;
    writeln();
      
    writeln('Минимальный выше диагонали ', top);
    writeln('Минимальный ниже диагонали ', bot);    
END.