passtr0.PAS

{* Строки в порядке возрастания количество четных чисел в их *}

Unit PASSTR0;
Interface
Implementation
Begin
 writeln('В массиве 7*7 расставить строки в порядке возрастания количество четных чисел в их');
End.

Program passtr0;

Uses passtr0.pas; {* Эту строку можно удалить *}
Const {* Предопределенные *}
  m = 7;
Var {* Объявление переменных *}
  mas                : Array [1..m, 1..m] Of byte;
  i                  : byte;
  j                  : byte;
Function getodd(st : byte);
Var {* Необходимые переменные *}
  i                 : byte;
  Begin
  result := 0;
For i := 1 To m Do{* Переменная i увеличивается с 1 до m *}
  {* Увеличиваем result на 1 *}
Procedure swap(p1 : byte);
p2                : byte);
Var {* Объявление переменных *}
  i           : byte;
  buf         : byte;
  Begin
For i := 1 To m Do{* Цикл для i => [1 .. m] *}
  mas[p1 := mas[p2, i];
i] := mas[p2, i];
mas[p2 := buf;
i] := buf;
Var {* Объявление переменных *}
  i : byte;
  j : byte;
  Begin
For i := 1 To m Do {* Увеличиваем i от 1 до m с шагом 1 *}
  Begin
For j := 1 To m Do {* Цикл для j => [1 .. m] *}
  write(mas[i, j], ' ');
writeln; {* Пустая строка *}
End;
writeln; {* Пустая строка *}
End;
Begin
randomize;
For i := 1 To m Do {* Цикл для i => [1 .. m] *}
  For j := 1 To m Do {* Увеличиваем j от 1 до m с шагом 1 *}
    mas[i, j] := random(50);
output;
For i := 1 To m - 1 Do {* Увеличиваем i от 1 до m с шагом 1 *}
  For j := m - 1 Downto i Do
    If getodd(j) > getodd(j + 1) Then
      swap(j, j + 1);
output;
End.....