Вычислить и вывести значения следующих матриц: 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
Листинг программы
  1. uses crt;
  2. const n=5;
  3. type  mtr=array[1..n,1..n] of integer;
  4. procedure vvod(var a:mtr);
  5. var i,j:byte;
  6. begin
  7. for i:=1 to n do
  8. for j:=1 to n do
  9. a[i,j]:=random(50);
  10. end;
  11.  
  12. procedure print(a:mtr;s:string);
  13. var i,j:byte;
  14. begin
  15. writeln(s);
  16. for i:=1 to n do
  17.  begin
  18.   for j:=1 to n do
  19.   write(a[i,j]:4);
  20.   writeln;
  21.  end;
  22. end;
  23.  
  24. procedure trans(a:mtr;var at:mtr);
  25. var i,j:byte;
  26. begin
  27. for i:=1 to n do
  28. for j:=1 to n do
  29. at[i,j]:=a[j,i];
  30. end;
  31.  
  32. procedure summa(a,b:mtr;var c:mtr);
  33. var i,j:byte;
  34. begin
  35. for i:=1 to n do
  36. for j:=1 to n do
  37. c[i,j]:=a[i,j]+b[i,j];
  38. end;
  39.  
  40. var a,b,at,bt,z,y:mtr;
  41. begin
  42. clrscr;
  43. randomize;
  44. vvod(a);
  45. vvod(b);
  46. print(a,'Матрица А');
  47. print(b,'Матрица B');
  48. trans(a,at);
  49. summa(at,b,z);
  50. print(z,'Матрица Z=A^t+B');
  51. trans(b,bt);
  52. summa(bt,a,y);
  53. print(y,'Матрица Y=B^t+A');
  54. readln
  55. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы