Найти след матрицы АВ и ВА. - Pascal

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

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

Заданы две квадратные матрицы A и B одинакового порядка. Найти след матрицы АВ и ВА. ПОМОГИТЕ ПЛИЗЗ!!

Решение задачи: «Найти след матрицы АВ и ВА.»

textual
Листинг программы
program PrMatr;
uses crt;
const nmax=20;
type matr = array [1..nmax, 1..nmax] of real;
procedure Vvod(var mt:matr;x:byte);//создание матриц
var i,j:byte;
begin
for i:=1 to x do
for j:=1 to x do
mt[i,j]:=5*random;
end;
procedure Vyvod(var mt:matr;x:byte;c:string);//вывод на экран
var i,j:byte;
begin
writeln('Матрица ',c);
for i:=1 to x do
 begin
  for j:=1 to x do
  write(mt[i,j]:7:2);
  writeln;
 end;
writeln;
end;
procedure UmnMatr(m1,m2:matr;var m3:matr;x:byte);//умножение матриц
var k,i,j:integer;
begin
for k:=1 to x do
for j:=1 to x do
  begin
    m3[k,j]:=0;
    for i:=1 to x do
    m3[k,j]:=m3[k,j]+m1[k,i]*m2[i,j];
  end;
end;
function Sled(mt:matr;x:byte):real;//след=сумма элементов главной диагонали
var i:byte;
    s:real;
begin
s:=0;
for i:=1 to x do
s:=s+mt[i,i];
Sled:=s;
end;
 
var a,b,ab,ba:Matr;
    n:byte;
begin
clrscr;
repeat
write ('Введите размер матриц n=');
readln (n);
until n in [1..nmax];
Vvod(a,n);
Vvod(b,n);
Vyvod(a,n,'A');
Vyvod(b,n,'B');
UmnMatr(a,b,ab,n);
Vyvod(ab,n,'A*B');
Writeln('След матрицы A*B=',Sled(ab,n):0:2);
write('Press Enter..');
readln;
Vyvod(a,n,'A');
Vyvod(b,n,'B');
UmnMatr(b,a,ba,n);
Vyvod(ba,n,'B*A');
Writeln('След матрицы B*A=',Sled(ba,n):0:2);
write('Press Enter..');
readln
end.

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

  1. Создание матриц: В процедуре Vvod создаются две матрицы mt и ab. Переменная mt представляет собой матрицу размером nxn, а переменная ab является результатом умножения матриц mt и b.
  2. Вывод на экран: В процедуре Vyvod выводится на экран информация о текущей матрице. Для каждой строки матрицы выводятся элементы с помощью функции write.
  3. Умножение матриц: В процедуре UmnMatr происходит умножение двух матриц m1 и m2. Результат сохраняется в матрице m3.
  4. Функция Sled: Функция Sled вычисляет сумму элементов главной диагонали матрицы.
  5. Ввод данных: Пользователю предлагается ввести размер матрицы n. Затем создаются две матрицы a и b, и заполняются случайными числами.
  6. Вывод данных: Выводится информация о текущей матрице.
  7. Умножение матриц: Производится умножение матриц a и b, результат сохраняется в матрице ab.
  8. Вычисление следа: Вычисляется сумма элементов главной диагонали матрицы ab.
  9. Вывод результата: Выводится информация о текущей матрице и результат вычисления следа.
  10. Завершение программы: Программа завершается после ввода символа Enter.

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


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

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

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