zadach355.PAS

{* Задача 355 *}

Unit ZADACH355;
Interface
Implementation
Begin
 writeln('Вычислить произведение матрицы А на вектор b. Элементы результирующего вектора c=A*b определяются следующим образом:
 i=1,…,n(n=5,k=6) '
);
End.

Program zadach355;

Uses zadach355.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключение модулей *}
Const {* Постоянные значения *}
  n = 5;
  k = 6;
Var {* В работе нам потребуются переменные: *}
  A  : Array [1..5, 1..6] Of integer;
  i  : integer;
  j  : integer;
  s  : integer;
  f1 : text;
  f2 : text;
  b  : Array [1..6] Of integer;
  c  : Array [1..5] Of integer;
Begin
  clrscr; {* Очищаем экран *}
  assign(f1, 'C:ProgramPASCALBINf1.txt'); {* Связывание f1 с файлом 'C:ProgramPASCALBINf1.txt' *}
  reset(f1); {* Чтение из файла через переменную f1 *}
  For i := 1 To n Do {* Переменная i увеличивается с 1 до n *}
  Begin
    For j := 1 To k Do {* Цикл для j => [1 .. k] *}
    Begin
      read(f1, A[i, j]);
      write(A[i, j], '     ');
    End;
    writeln; {* Пустая строка *}
    readln(f1);
  End;
  close(f1); {* Закрыть файл f1 *}
  assign(f2, 'C:ProgramPASCALBINf2.txt'); {* Подключение к файлу 'C:ProgramPASCALBINf2.txt' через переменную f2 *}
  reset(f2); {* Подготовка переменной f2 для чтения из файла *}
  For i := 1 To k Do {* Переменная i увеличивается с 1 до k *}
  Begin
    read(f2, b[i]);
    readln(f2);
    write(b[i], '    ');
  End;
  close(f2); {* Файл f2 будет закрыт *}
  writeln; {* Пустая строка *}
  For i := 1 To n Do {* Переменная i увеличивается с 1 до n *}
  Begin
    For j := 1 To k Do {* Цикл для j => [1 .. k] *}
      s := s + A[i, j] * b[j];
    c[i] := s;
    write(c[i], '    ');
    s := 0;
  End;
  readln
End.