porydok.PAS

{* Сортировка каждого столбца матрицы по возрастанию *}

Unit PORYDOK;
Interface
Implementation
Begin
 writeln('Сортировка каждого столбца матрицы по возрастанию. Массив размером МхN, элементы которого задаются датчиком случайных чисел на интервале [-17;26]. ');
End.

Program porydok;

Uses porydok.pas; {* Эту строку можно удалить *}
Var {* Объявление переменных *}
  a : Array[1..50, 1..50] Of integer;
  i : integer;
  j : integer;
  n : integer;
  m : integer;
  t : integer;
  r : integer;
Begin
  Write(‘сколько строк?’);
  Readln(m);
  Write(‘сколько столбцов?’);
  Readln(n);
  For i := 1 To m Do {* Переменная i увеличивается с 1 до m *}
  Begin
    For j := 1 To n Do {* Увеличиваем j от 1 до n с шагом 1 *}
    Begin
      a[i, j] := int(rnd * 44) - 17;
      write(a[i, j],’ ‘);
    End;
    Writeln; {* Вывод пустой строки *}
  End;
  For j := 1 To n Do {* Увеличиваем j от 1 до n с шагом 1 *}
    For r := 1 To m Do {* Цикл для r => [1 .. m] *}
      For i := 1 To m - 1 Do {* Цикл для i => [1 .. m] *}
        If a[i, j] > a[i + 1, j] Then
        Begin
          t := a[i, j];
          a[i, j] := a[i + 1, j];
          a[i + 1, j] := t;
        End;
  For i := 1 To m Do {* Переменная i увеличивается с 1 до m *}
  Begin
    For j := 1 To n Do {* Переменная j увеличивается с 1 до n *}
      write(a[i, j],’ ‘);
    Writln;
  End;
  
End.