zadach66.PAS

{* Задача 66 *}

Unit ZADACH66;
Interface
Implementation
Begin
 writeln('Дана квадратная матрица порядка n(n=5). Если все строки упорядочены по возрастанию, то в вектор x записать элементы столбца, содержащего наименьшее количество положительных элементов, а иначе элементы строки, содержащей наибольшее количество нулевых элементов. ');
End.

Program shki;

Uses zadach66.pas; {* Эту строку можно удалить *}
Const {* Предопределенные *}
  n = 5;
Var {* Объявление переменных *}
  a    : Array[1..n, 1..n] Of integer;
  x    : Array[1..n] Of integer;
  i    : integer;
  j    : integer;
  z    : boolean;
  max  : integer;
  maxn : integer;
  temp : integer;
Begin
  For i := 1 To n Do {* Цикл для i => [1 .. n] *}
    For j := 1 To n Do {* Переменная j увеличивается с 1 до n *}
    Begin
      write('Введіть a[', i, ', ', j, ']=');
      readln(a[i, j]);
    End;
  z := true;
  For i := 1 To n Do {* Переменная i увеличивается с 1 до n *}
    For j := 1 To n - 1 Do {* Цикл для j => [1 .. n] *}
      z := z And (a[i, j] > a[i, j + 1]);
  If z Then
  Begin
    max := 0;
    temp := 0;
    For i := 1 To n Do {* Переменная i увеличивается с 1 до n *}
    Begin
      temp := 0;
      For j := 1 To n Do {* Увеличиваем j от 1 до n с шагом 1 *}
        If a[j, i] > 0 Then
          temp := temp + 1;
      If temp > max Then
      Begin
        max := temp;
        maxn := i;
      End;
      
    End;
    For i := 1 To n Do {* Цикл для i => [1 .. n] *}
      x[i] := a[i, maxn]
  End;
  Else Begin
    max := 0;
  temp := 0;
  For i := 1 To n Do {* Увеличиваем i от 1 до n с шагом 1 *}
  Begin
    temp := 0;
    For j := 1 To n Do {* Цикл для j => [1 .. n] *}
      If a[i, j] = 0 Then
        temp := temp + 1;
    If temp > max Then
    Begin
      max := temp;
      maxn := i;
    End;
    
  End;
  For i := 1 To n Do {* Переменная i увеличивается с 1 до n *}
    x[i] := a[maxn, i]
End;

  End.....