Вычислить и вывести значения следующих матриц: 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.
- завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д