Найти произведение двух матриц - Pascal (80458)
Формулировка задачи:
Ребят, помогите, нужна программа, которая находит произведение двух матриц
Решение задачи: «Найти произведение двух матриц»
textual
Листинг программы
- Program Umnoj2;
- Const Max=50;
- Var AA,BB,CC: array [1..Max,1..Max] of Double;
- {то есть место для матриц выделяем с запасом}
- ii,jj,kk,nn,mm,ll : integer; Summa: double;
- begin
- writeln ('Программа умножает матрицу A на матрицу B');
- write('Введите число строк 1-й матрицы - A (<=50)--> ');readln(NN);
- write('Введите число столбцов 1-й матрицы - A (<=50)--> ');readln(KK);
- write('Введите число столбцов 2-й матрицы - B (<=50)--> ');readln(MM);
- writeln('Введите 1-ю матрицу (A):');
- for ii:=1 to nn do
- for jj:=1 to kk do
- begin
- write('Введите A[',ii,',',jj,'] --> ');
- readln(AA[ii,jj]);
- end;
- writeln('Введите 2-ю матрицу (B):');
- for ii:=1 to kk do
- for jj:=1 to mm do
- begin write('Введите B[',ii,',',jj,'] --> '); readln(BB[ii,jj]);
- end;
- {Вычисляем элементы матрицы-результата}
- for ii:=1 to nn do
- for jj:=1 to mm do
- begin
- Summa:= 0;
- for ll:= 1 to kk do
- Summa:= Summa + AA[ii,ll]*BB[ll,jj];
- CC[ii,jj] := Summa;
- end;
- {Выводим матрицу-результат:}
- writeln('---- Результат: -----');
- for ii:=1 to nn do
- begin
- for jj:=1 to mm do
- write(CC[ii,jj]:8:2);
- writeln;
- end;
- readln;
- end.
Объяснение кода листинга программы
- Объявляются константа
Max
со значением 50 и переменныеAA
,BB
,CC
массивами размераMax x Max
для хранения матриц. - Объявляются переменные
ii
,jj
,kk
,nn
,mm
,ll
типа integer и переменнаяSumma
типа double. - Выводится сообщение
Программа умножает матрицу A на матрицу B
. - Пользователю предлагается ввести количество строк и столбцов первой и второй матрицы.
- Пользователю предлагается ввести элементы первой матрицы
A
и второй матрицыB
. - Для каждого элемента матрицы-результата высчитывается сумма произведений соответствующих элементов матриц
A
иB
. - Выводится результат умножения матриц
A
наB
. - Программа завершается после нажатия клавиши Enter. Однако, данная программа написана на Pascal и является примером кода для умножения двух матриц.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д