Арифметические действия с тремя матрицами - Pascal

Узнай цену своей работы

Формулировка задачи:

Дано три матрицы:W,F,E. Найдите W+E*3F .помогите пожалуйста,сам не могу(

Решение задачи: «Арифметические действия с тремя матрицами»

textual
Листинг программы
uses crt;
const nmax=10;
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]:4);
    writeln;
  end;
write('Press Enter');
readln;
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 SumMatr(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 w,f,e,f3,ef,ct,r:matr;
begin
clrscr;
randomize;
repeat
write('Размер матриц до ',nmax,' n=');
readln(n);
until n in [1..nmax];
Vvod(w);
Vvod(f);
Vvod(e);
Vyvod(w,'Matrica W');{исходная W}
Vyvod(f,'Matrica F');{исходная F}
Vyvod(e,'Matrica E');{исходная C}
UmnSc(f,3,f3);{3*F}
UmnMatr(e,f3,ef);{E*3F}
SumMatr(w,ef,r);
Vyvod(r,'Matrica R=W+E*3F');
end.

Объяснение кода листинга программы

  1. В начале кода подключается библиотека crt, а также определяется константа nmax, которая ограничивает размер матрицы до 10 строк.
  2. Затем определяется тип данных matr, который представляет собой массив целых чисел размером до nmax на nmax.
  3. Далее определены два процедура: Vvod, который заполняет матрицу случайными числами, и Vyvod, который выводит содержимое матрицы.
  4. Процедура UmnMatr выполняет умножение матрицы m1 на m2 и сохраняет результат в матрице m.
  5. Процедура UmnSc выполняет умножение каждой строки матрицы m1 на значение s и сохраняет результаты в новой матрице m2.
  6. Процедура SumMatr складывает элементы матриц m1 и m2 и сохраняет результат в новой матрице m.
  7. Далее определены три переменные: w, f и e, которые представляют собой матрицы для ввода, фазовой и исходной матриц соответственно.
  8. Затем выполняется цикл, в котором пользователю предлагается ввести размер матрицы n. После этого вводятся матрицы w, f и e.
  9. Далее выполняются операции умножения и сложения матриц, используя процедуры UmnMatr, UmnSc и SumMatr.
  10. Наконец, выводится матрица r, которая является суммой матриц w и e*3f.

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


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

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

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