Арифметические действия над матрицами - Pascal ABC
Формулировка задачи:
Помогите, пожалуйста, исправить программу. Она должна производить действия над матрицами по такой формуле:
С(конечная матрица)=А*(А2-B)-2(B+A)B
Матрица А=
(2 3 1)
(-1 2 4)
(5 3 0)
Матрица В=
(2 7 13)
(-1 0 5)
(5 13 21)
В ответе должна получиться такая матрица С=
(-75 -357 -788)
(-40 -156 -359)
(-147 -607 -1291)
А у меня она не получается.. Что не так? Помогите исправить.
Решение задачи: «Арифметические действия над матрицами»
textual
Листинг программы
program lab7; uses crt; const n=3; type mtr=array[1..n,1..n] of integer; const a:mtr=((2,3,1),(-1,2,4),(5,3,0)); b:mtr=((2,7,13),(-1,0,5),(5,13,21)); var i,j,k: integer; a2,a3,a4,b2,b3,c:mtr; begin writeln('Матрица A:'); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:4); writeln; end; writeln('Матрица B:'); for i:=1 to n do begin for j:=1 to n do write(b[i,j]:4); writeln; end; //A^2 for i:=1 to n do for j:=1 to n do begin a2[i,j]:=0; for k:=1 to n do a2[i,j]:=a2[i,j]+a[i,k]*a[k,j]; end; //A^2-B for i:=1 to n do for j:=1 to n do a3[i,j]:=a2[i,j]-b[i,j]; //A*(A^2-B) for i:=1 to n do for j:=1 to n do begin a4[i,j]:=0; for k:=1 to n do a4[i,j]:=a4[i,j]+a[i,k]*a3[k,j]; end; //2*(B+A) for i:=1 to n do for j:=1 to n do b2[i,j]:=2*(b[i,j]+a[i,j]); //2*(B+A)*B for i:=1 to n do for j:=1 to n do begin b3[i,j]:=0; for k:=1 to n do b3[i,j]:=b3[i,j]+b2[i,k]*b[k,j]; end; //C=..... for i:=1 to n do for j:=1 to n do c[i,j]:=a4[i,j]-b3[i,j]; writeln('Матрица C=A*(A^2-B)-2(B+A)B'); for i:=1 to n do begin for j:=1 to n do write(c[i,j]:6); writeln end end.
Объяснение кода листинга программы
- Объявлены константы: n=3, a, b, i, j, k, a2, a3, a4, b2, b3, c.
- Выводится матрица A.
- Выводится матрица B.
- Вычисляется матрица a^2.
- Вычисляется матрица a^2-b.
- Вычисляется матрица a*(a^2-b).
- Вычисляется матрица 2*(b+a).
- Вычисляется матрица 2(b+a)b.
- Вычисляется матрица c=a*(a^2-b)-2(b+a)b.
- Выводится матрица c.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д