Арифметические действия над матрицами - 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.

Объяснение кода листинга программы

  1. Объявлены константы: n=3, a, b, i, j, k, a2, a3, a4, b2, b3, c.
  2. Выводится матрица A.
  3. Выводится матрица B.
  4. Вычисляется матрица a^2.
  5. Вычисляется матрица a^2-b.
  6. Вычисляется матрица a*(a^2-b).
  7. Вычисляется матрица 2*(b+a).
  8. Вычисляется матрица 2(b+a)b.
  9. Вычисляется матрица c=a*(a^2-b)-2(b+a)b.
  10. Выводится матрица c.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы