Найти след матрицы АВ и ВА. - 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.
Объяснение кода листинга программы
- Создание матриц: В процедуре Vvod создаются две матрицы mt и ab. Переменная mt представляет собой матрицу размером nxn, а переменная ab является результатом умножения матриц mt и b.
- Вывод на экран: В процедуре Vyvod выводится на экран информация о текущей матрице. Для каждой строки матрицы выводятся элементы с помощью функции write.
- Умножение матриц: В процедуре UmnMatr происходит умножение двух матриц m1 и m2. Результат сохраняется в матрице m3.
- Функция Sled: Функция Sled вычисляет сумму элементов главной диагонали матрицы.
- Ввод данных: Пользователю предлагается ввести размер матрицы n. Затем создаются две матрицы a и b, и заполняются случайными числами.
- Вывод данных: Выводится информация о текущей матрице.
- Умножение матриц: Производится умножение матриц a и b, результат сохраняется в матрице ab.
- Вычисление следа: Вычисляется сумма элементов главной диагонали матрицы ab.
- Вывод результата: Выводится информация о текущей матрице и результат вычисления следа.
- Завершение программы: Программа завершается после ввода символа Enter.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д