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

  1. vvod(var a:mtr); - процедура, которая заполняет матрицу случайными значениями.
  2. print(a:mtr;s:string); - процедура, которая выводит значения матрицы в строковом формате.
  3. trans(a:mtr;var at:mtr); - процедура, которая выполняет транспонирование матрицы.
  4. summa(a,b:mtr;var c:mtr); - процедура, которая вычисляет сумму двух матриц.
  5. var a,b,at,bt,z,y:mtr; - переменные для хранения матриц.
  6. clrscr(); - процедура, которая очищает экран.
  7. randomize; - процедура, которая инициализирует генератор случайных чисел.
  8. vvod(a); - вызов процедуры, который заполняет матрицу a случайными значениями.
  9. vvod(b); - вызов процедуры, который заполняет матрицу b случайными значениями.
  10. print(a,'Матрица А'); - вызов процедуры, который выводит название матрицы и ее значения.
  11. print(b,'Матрица B'); - вызов процедуры, который выводит название матрицы и ее значения.
  12. trans(a,at); - вызов процедуры, который выполняет транспонирование матрицы a и сохраняет результат в матрице at.
  13. summa(at,b,z); - вызов процедуры, который вычисляет сумму матриц at и b и сохраняет результат в матрице z.
  14. print(z,'Матрица Z=A^t+B'); - вызов процедуры, который выводит название матрицы и ее значения.
  15. trans(b,bt); - вызов процедуры, который выполняет транспонирование матрицы b и сохраняет результат в матрице bt.
  16. summa(bt,a,y); - вызов процедуры, который вычисляет сумму матриц bt и a и сохраняет результат в матрице y.
  17. print(y,'Матрица Y=B^t+A'); - вызов процедуры, который выводит название матрицы и ее значения.
  18. readln(); - процедура, которая читает ввод пользователя.
  19. end. - завершение программы.

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


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

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

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