Арифметические действия с тремя матрицами - 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.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, а также определяется константа nmax, которая ограничивает размер матрицы до 10 строк.
- Затем определяется тип данных matr, который представляет собой массив целых чисел размером до nmax на nmax.
- Далее определены два процедура: Vvod, который заполняет матрицу случайными числами, и Vyvod, который выводит содержимое матрицы.
- Процедура UmnMatr выполняет умножение матрицы m1 на m2 и сохраняет результат в матрице m.
- Процедура UmnSc выполняет умножение каждой строки матрицы m1 на значение s и сохраняет результаты в новой матрице m2.
- Процедура SumMatr складывает элементы матриц m1 и m2 и сохраняет результат в новой матрице m.
- Далее определены три переменные: w, f и e, которые представляют собой матрицы для ввода, фазовой и исходной матриц соответственно.
- Затем выполняется цикл, в котором пользователю предлагается ввести размер матрицы n. После этого вводятся матрицы w, f и e.
- Далее выполняются операции умножения и сложения матриц, используя процедуры UmnMatr, UmnSc и SumMatr.
- Наконец, выводится матрица r, которая является суммой матриц w и e*3f.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д