Вычислить и вывести значения следующих матриц: Z=(A^T)+B, Y=(B^T)+A - Turbo Pascal
Формулировка задачи:
Пожалуйста помогите составить программу. Используя подпрограммы ввода и вывода массива, вычислить и вывести значения следующих матриц: Z=(A^T)+B, Y=(B^T)+A, где A, B- исходные матрицы. Все матрицы квадратные и одинаковой размерности
Решение задачи: «Вычислить и вывести значения следующих матриц: Z=(A^T)+B, Y=(B^T)+A»
textual
Листинг программы
uses crt; const n=5; type mtr=array[1..n,1..n] of integer; procedure vvod(var a:mtr); var i,j:byte; begin for i:=1 to n do for j:=1 to n do a[i,j]:=random(50); end; procedure print(a:mtr;s:string); var i,j:byte; begin writeln(s); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:4); writeln; end; end; procedure trans(a:mtr;var at:mtr); var i,j:byte; begin for i:=1 to n do for j:=1 to n do at[i,j]:=a[j,i]; end; procedure summa(a,b:mtr;var c:mtr); var i,j:byte; begin for i:=1 to n do for j:=1 to n do c[i,j]:=a[i,j]+b[i,j]; end; var a,b,at,bt,z,y:mtr; begin clrscr; randomize; vvod(a); vvod(b); print(a,'Матрица А'); print(b,'Матрица B'); trans(a,at); summa(at,b,z); print(z,'Матрица Z=A^t+B'); trans(b,bt); summa(bt,a,y); print(y,'Матрица Y=B^t+A'); readln end.
Объяснение кода листинга программы
В данном коде используется язык программирования Turbo Pascal. Он содержит следующие процедуры и переменные:
vvod(var a:mtr);
- процедура, которая заполняет матрицу случайными значениями.print(a:mtr;s:string);
- процедура, которая выводит значения матрицы в строковом формате.trans(a:mtr;var at:mtr);
- процедура, которая выполняет транспонирование матрицы.summa(a,b:mtr;var c:mtr);
- процедура, которая вычисляет сумму двух матриц.var a,b,at,bt,z,y:mtr;
- переменные для хранения матриц.clrscr();
- процедура, которая очищает экран.randomize;
- процедура, которая инициализирует генератор случайных чисел.vvod(a);
- вызов процедуры, который заполняет матрицуa
случайными значениями.vvod(b);
- вызов процедуры, который заполняет матрицуb
случайными значениями.print(a,'Матрица А');
- вызов процедуры, который выводит название матрицы и ее значения.print(b,'Матрица B');
- вызов процедуры, который выводит название матрицы и ее значения.trans(a,at);
- вызов процедуры, который выполняет транспонирование матрицыa
и сохраняет результат в матрицеat
.summa(at,b,z);
- вызов процедуры, который вычисляет сумму матрицat
иb
и сохраняет результат в матрицеz
.print(z,'Матрица Z=A^t+B');
- вызов процедуры, который выводит название матрицы и ее значения.trans(b,bt);
- вызов процедуры, который выполняет транспонирование матрицыb
и сохраняет результат в матрицеbt
.summa(bt,a,y);
- вызов процедуры, который вычисляет сумму матрицbt
иa
и сохраняет результат в матрицеy
.print(y,'Матрица Y=B^t+A');
- вызов процедуры, который выводит название матрицы и ее значения.readln();
- процедура, которая читает ввод пользователя.end.
- завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д