Посчитать матрицы по заданой формуле - Free Pascal
Формулировка задачи:
Даны 3 матрицы 4х4: A,B,C. Вычислить
(а именно нужно определить 2 процедцры: сложения матриц и умножения матриц и уже в главной программе их правильно вызвать)
Решение задачи: «Посчитать матрицы по заданой формуле»
textual
Листинг программы
{$mode objfpc} const size = 4; type TMatrix = array[1 .. size, 1 .. size] of double; operator * (const a, b: TMatrix) m: TMatrix; var i, j, k: integer; begin for i := 1 to size do for j := 1 to size do begin m[i, j] := 0; for k := 1 to size do m[i, j] := m[i, j] + a[i, k] * b[k, j] end; end; operator + (const a, b: TMatrix) m: TMatrix; var i, j: integer; begin for i := 1 to size do for j := 1 to size do m[i, j] := a[i, j] * b[i, j]; end; operator ** (const a: TMatrix; const pow: integer) m: TMatrix; var i, j: Integer; begin if pow = 0 then begin for i := 1 to size do for j := 1 to size do m[i, j] := Byte(i = j); exit end; m := a; for i := 1 to pred(pow) do m := m * a; end; procedure matrixInput(const s : string; var m : TMatrix); var i, j : Integer; begin writeln('Input matrix ' + s); for i := 1 to size do for j := 1 to size do begin write(s+'[', i, ',', j, '] = '); readln(m[i, j]); end; end; procedure matrixPrint(a: TMatrix); var i, j: integer; begin for i := 1 to size do begin for j := 1 to size do write(a[i, j]:9:2); writeln end end; var A, B, C : TMatrix; Res: TMatrix; begin matrixInput('A', A); matrixInput('B', B); matrixInput('C', C); writeln; Res := A**2 + B**2 + A*B*C; matrixPrint(Res) end.
Объяснение кода листинга программы
- В начале кода определяются константы и типы данных, используемые в программе.
- Затем определяются два оператора: оператор умножения для матриц и оператор сложения для матриц.
- Далее определен оператор возведения в степень для матрицы.
- После этого определена процедура для ввода матрицы из консоли.
- Затем определена процедура для вывода матрицы на консоль.
- В основной части программы создаются три матрицы A, B и C, и с ними выполняются операции в соответствии с заданной формулой.
- Результат вычислений выводится на консоль.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д