zadach352.PAS

{* Задача 352 *}

Unit ZADACH352;
Interface
Implementation
Begin
 writeln('Дана квадратная матрица A пятого порядка. Найти A2. ');
End.

Program zadach352;

Uses zadach352.pas; {* Эту строку можно удалить *}
Uses crt; {* Вызов внешних функций *}
Var {* В работе нам потребуются переменные: *}
  i  : integer;
  j  : integer;
  k  : integer;
  s  : real;
  y  : Array[1..5, 1..5] Of real;
  x  : Array[1..5, 1..5] Of real;
  f1 : text;
  f2 : text;
Begin
  clrscr; {* Очистка экрана *}
  assign (f1, 'M:/init.txt'); {* Связывание f1 с файлом 'M:/init.txt' *}
  assign (f2, 'M:/rez.txt'); {* Подключение к файлу 'M:/rez.txt' через переменную f2 *}
  reset(f1); {* Подготовка переменной f1 для чтения из файла *}
  rewrite(f2); {* Открытие файла для записи *}
  For i := 1 To 5 Do {* Цикл для i => [1 .. 5] *}
  Begin
    For j := 1 To 5 Do {* Переменная j увеличивается с 1 до 5 *}
      read(f1, x[i, j]);
      Begin
        readln(f1);
      End;
    
  End;
  For i := 1 To 5 Do {* Цикл для i => [1 .. 5] *}
  Begin
    For j := 1 To 5 Do {* Переменная j увеличивается с 1 до 5 *}
    Begin
      s := 0;
      For k := 1 To 5 Do {* Увеличиваем k от 1 до 5 с шагом 1 *}
      Begin
        s := s + x[i, k] * x[k, j];
      End;
      y[i, j] := s;
      write(y[i, j] : 5 : 1);
      write(f2, y[i, j] : 5 : 1);
    End;
    readln; {* Ждем нажатия Enter *}
  End;
  writeln('');
  close(f1); {* Закрыть файл f1 *}
  close(f2); {* Файл f2 будет закрыт *}
End.