zadach376.PAS

{* Задача 376 *}

Unit ZADACH376;
Interface
Implementation
Begin
 writeln('Составить процедуру для вычисления матрицы, получившейся в результате умножения исходной матрицы на свою транспонированную, т.е.

'
);
End.

Program zadach376;

Uses zadach376.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключаем внешние файлы *}
Const {* Постоянные значения *}
  n = 5; {размерность матриц}
Type {* Используемые типы *}
  matr = Array[1..n, 1..n] Of real;
Var {* Необходимые переменные *}
  a               : matr;
  c               : matr; {Описание матриц}
  f               : text;
  out             : text;
  i               : integer;
  j               : integer;
Procedure Mat(a : matr;
Var {* Необходимые переменные *}
  c : matr); {Процедура перемножения матриц}
Var {* Необходимые переменные *}
  i : integer;
  j : integer;
  k : integer;
Begin
  For i := 1 To n Do {* Цикл для i => [1 .. n] *}
    For j := 1 To n Do {* Увеличиваем j от 1 до n с шагом 1 *}
    Begin
      C[i, j] := 0;
      For k := 1 To n Do {* Переменная k увеличивается с 1 до n *}
        C[i, j] := C[i, j] + a[i, k] * a[j, k];
    End;
  
End.