Выполнить операции над матрицами - Pascal ABC

  1. Выполнить операции (здесь A, B, C, D — квадратные матрицы порядка n) 3D-4ATBCD


textual

Код к задаче: «Выполнить операции над матрицами - Pascal ABC»

const nmax=7;
var n:byte;
type matr=array[1..nmax,1..nmax] of integer;
 
procedure Vvod(var mt:matr);
var i,j:byte;
begin
for i:=1 to n do
for j:=1 to n do
mt[i,j]:=random(10);
end;
 
procedure Vyvod(mt:matr;c:string);
var i,j:byte;
begin
writeln(c,':');
for i:=1 to n do
  begin
    for j:=1 to n do
    write(mt[i,j]:8);
    writeln;
  end;
end;
 
procedure Trans(m:matr;var m1:matr);
var i,j:byte;
begin
for i:=1 to n do
for j:=1 to n do
m1[i,j]:=m[j,i];
end;
 
procedure UmnMatr(m1,m2:matr;var m:matr);
var i,j,k:byte;
begin
for k:=1 to n do
for j:=1 to n do
  begin
   m[k,j]:=0;
   for i:=1 to n do
   m[k,j]:=m[k,j]+m1[k,i]*m2[i,j];
  end;
end;
 
procedure UmnSc(m1:matr;s:integer;var m2:matr);
var i,j:byte;
begin
for i:=1 to n do
for j:=1 to n do
m2[i,j]:=m1[i,j]*s;
end;
 
procedure RazMatr(m1,m2:matr;var m:matr);
var i,j:byte;
begin
for i:=1 to n do
for j:=1 to n do
m[i,j]:=m1[i,j]-m2[i,j];
end;
 
var a,b,c,d,e,d3,at,cd,bcd,abcd,abcd4:matr;
begin
randomize;
repeat
write('Размер матриц от 2 до ',nmax,' n=');
readln(n);
until n in [1..nmax];
Vvod(a);
Vvod(b);
Vvod(c);
Vvod(d);
Vyvod(a,'Матрица A');{исходная А}
Vyvod(b,'Матрица B');{исходная B}
Vyvod(c,'Матрица C');{исходная C}
Vyvod(d,'Матрица D');{исходная D}
UmnSc(d,3,d3);{3*D}
Trans(a,at);{A^t}
UmnMatr(c,d,cd);{C*D}
UmnMatr(b,cd,bcd);{B*C*D}
UmnMatr(at,bcd,abcd);{A^T*B*C*D}
UmnSc(abcd,4,abcd4);{4*A^T*B*C*D}
RazMatr(d3,abcd4,e); {3*D-4*A^T*B*C*D}
Vyvod(e,'Матрица E=3*D-4*A^T*B*C*D');
end.

СДЕЛАЙТЕ РЕПОСТ

11   голосов, оценка 4.000 из 5



Похожие ответы
  1. Заполнить массив случайными числами и выполнить циклический сдвиг элементов массива вправо на 1 элемент.

  1. Необходимо определить какую работу необходимо выполнить, чтобы поднять тело массой T на высоту С от поверхности земли

  1. Разработать программу, выполняющую coздание односвязного списка, вывод его элементов на экран, а также указанные действия в соответствии с вариантом. Построить схемы действий со списком, отражающие связи между элементами списка, а также их изменение в случае добавления или удаления элементов из списка.Тип элементов списка – символы. Выполнить поиск элемента в списке. Помогите исправить

  1. Как сделать что бы при выполнении этого условия (if (c>b) and (a>c) then write('signal') else write('net signala'), он не выводил на экран следующие и наоборот?

  1. В двумерном массиве выполнить сортировку по возрастанию 4 столбца. Кто может, помогите пожалуйста!

  1. В заданных границах посредством генератора случайных чисел создать одномерный массив в заданных границах. Выполнить ранжирование массива от мала до велика и от большого к малому. Создание одномерного массива посредством генератора случайных чисел: массив целого типа, количество элементов массива 50+№варианта. Диапазон чисел от N= -(20+№ варианта) к K=+(20+№ варианта) находится по формуле."18 Вариант" Сформировать массив каждый элемент которого равен соответствующему элементу исходного массива деленному на максимальный элемент.

  1. 1.Реализовать в программе деление на цело и умножение двух чисел не применяя операции «*» и «/».

  1. Строка содержит арифмитическое выражение из двух чисел, между которыми стоит арифмитический знак(+ или -). Написать программу, которая позволяет ввести строку, выполнить данное арифмитическое действие и вывести результат. т.е. ввожу "15+2", мне выводит "17" С числами до 9 я справился, а вот если уже двузначные, то тут проблемы.

  1. Даны два действительных числа x и y. Арифметические действия над ними пронумерованы. (1 – сложение, 2 – вычитание и т.д. ) составить программу, которая по введенному номеру выполняет то или иное действие над числами) ПОМОГИТЕ!