Посчитать матрицы по заданой формуле - 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, и с ними выполняются операции в соответствии с заданной формулой.
- Результат вычислений выводится на консоль.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д