Транспонирование, умножение матриц, сложение матриц Реализовать в одной программере - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

транспонирование, умножение матриц, сложение матриц; B^3-A^T Реализовать в одной программере. Помогите решить

Решение задачи: «Транспонирование, умножение матриц, сложение матриц Реализовать в одной программере»

textual
Листинг программы
uses
  SysUtils;
var
a: array [0..100, 0..100] of Integer;
b: array [0..100, 0..100] of Integer;
c: array [0..100, 0..100] of Integer;
d: array [0..100, 0..100] of Integer;
AT: array [0..100, 0..100] of Integer;
i,j,k,N,s: Integer;
begin
Writeln('Enter matrix size');
readln(N);
//Ввод матрицы А
Writeln('Enter Matrix A');
for i := 1 to N do
 begin
  for j := 1 to N do
    begin
      Read(a[i,j]);
    end;
  Readln;
end;
//Ввод матрицы В
Writeln('Enter Matrix B');
for i := 1 to N do
 begin
  for j := 1 to N do
    begin
      Read(b[i,j]);
    end;
   Readln;
end;
Writeln;
Writeln('Matrix A');
//Вывод матрицы А
for i := 1 to N do
 begin
  for j := 1 to N do
    begin
      Write(a[i,j],' ');
    end;
  Writeln;
end;
Writeln;
//Вывод матрицы B
Writeln('Matrix B');
for i := 1 to N do
 begin
  for j := 1 to N do
    begin
      Write(b[i,j],' ');
    end;
  Writeln;
end;
s:=0;
//****Произведение матриц*********
//****Квадрат матрицы*************
for i := 1 to N do
  begin
    for j := 1 to N do
      begin
        for k := 1 to N do
        begin
           s:=s+b[i,k]*b[k,j];
             end;
           d[i,j]:=s;
           s:=0;
      end;
      s:=0;
  end;
 
//****Произведение матриц*********
//****Куб матрицы*************
for i := 1 to N do
  begin
    for j := 1 to N do
      begin
        for k := 1 to N do
        begin
           s:=s+b[i,k]*d[k,j];
             end;
           c[i,j]:=s;
           s:=0;
      end;
      s:=0;
  end;
 
Writeln;
//Вывод матрицы C
Writeln('Matrix C');
for i := 1 to N do
 begin
  for j := 1 to N do
    begin
      Write(c[i,j],' ');
    end;
  Writeln;
end;
//Транспонирование матрицы А
for i := 1 to N do
  begin
    for j := 1 to N do
          AT[i,j]:=a[j,i];
          end;
//Вывод матрицы АТ
Writeln('Matrix AT');
for i := 1 to N do
 begin
  for j := 1 to N do
    begin
      Write(AT[i,j],' ');
    end;
  Writeln;
end;
//***Разность матриц***
for i := 1 to N do
  begin
    for j := 1 to N do
          d[i,j]:=c[i,j]-AT[i,j];
          end;
//Вывод результатов
Writeln('Results');
for i := 1 to N do
 begin
  for j := 1 to N do
    begin
      Write(d[i,j],' ');
    end;
  Writeln;
end;
Readln;
end.

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

  1. Создание переменных для матрицы А, В и С, а также для матрицы AT и массива d.
  2. Ввод матрицы А и В с помощью функции Read.
  3. Вывод матрицы А и B с помощью функции Write.
  4. Вычисление произведения матриц с использованием формулы для произведения матриц.
  5. Вычисление транспонированной матрицы А с помощью циклов.
  6. Вывод матрицы AT.
  7. Вычисление разности матриц с использованием формулы для разности матриц.
  8. Вывод результатов вычислений.

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


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

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

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