zadach356.PAS

{* Задача 356 *}

Unit ZADACH356;
Interface
Implementation
Begin
 writeln('Используя процедуру, поменять местами в квадратной матрице заданного размера диагонали, прилегающие к главной диагонали.');
End.

Program zadach356;

Uses zadach356.pas; {* Эту строку можно удалить *}
Uses crt; {* Вызов внешних функций *}
Type {* Создание новых типов данных *}
  dl = Array[1..20, 1..20] Of integer;
Var {* Объявление переменных *}
  i : integer;
  j : integer;
  n : integer;
  m : integer;
  x : dl;
Var {* Объявление переменных *}
  x : dl;
  n : integer);
  m : integer);
Var {* Объявление переменных *}
  c : real;
  v : integer;
  i : integer;
  j : integer;
Begin
  v := 0;
  For i := 1 To n Do {* Переменная i увеличивается с 1 до n *}
  Begin
    For j := 1 To m Do {* Переменная j увеличивается с 1 до m *}
      v := v + sqr(x[i, j]);
  End;
  write(sqrt(v));
End;
Begin
  clrscr; {* Очищаем экран *}
  write('Vvedi chislo n m ');
  readln(n, m);
  randomize;
  For i := 1 To n Do {* Цикл для i => [1 .. n] *}
  Begin
    For j := 1 To m Do {* Переменная j увеличивается с 1 до m *}
    Begin
      x[i, j] := random(9);
      write(x[i, j], ' ');
    End;
    writeln; {* Пустая строка *}
  End;
  writeln; {* Вывод пустой строки *}
  koren(x, n, m);
  readln; {* Приостановка программы. Ожидание Enter *}
End.