Нахождение произведения матриц - Turbo Pascal
Формулировка задачи:
Даны две матрицы А(nxn) и B(nxn). Написать программу нахождения произведения этих матриц D = A*B.
Решение задачи: «Нахождение произведения матриц»
textual
Листинг программы
uses crt; const nmax=20; var A,B,U:array[1..nmax,1..nmax]of integer; ka,la,kb,lb,i,j,r:integer; begin clrscr; randomize; writeln('Razmery matricy A:'); repeat write('Kolichestvo strok ka=');readln(ka); until (ka>0)and(ka<=nmax); repeat write('Kolichestvo stolbcov la=');readln(la); until (la>0)and(la<=nmax); writeln('Razmery matricy B:'); repeat write('Kolichestvo strok kb=');readln(kb); until (kb>0)and(kb<=nmax); repeat write('Kolichestvo stolbcov lb=');readln(lb); until (lb>0)and(lb<=nmax)and(lb=ka); writeln('Matrica A:'); for i:=1 to ka do begin for j:=1 to la do begin A[i,j]:=random(9)+1; write(A[i,j]:3); end; writeln; end; readln; writeln('Matrica B:'); for i:=1 to kb do begin for j:=1 to lb do begin B[i,j]:=random(9)+1; write(B[i,j]:3); end; writeln; end; readln; for r:=1 to ka do for j:=1 to lb do begin U[r,j]:=0; for i:=1 to la do begin U[r,j]:=U[r,j]+A[r,i]*B[i,j]; end; end; writeln('Matrica U=A*B:'); for i:=1 to ka do begin for j:=1 to lb do write(U[i,j]:5); writeln; end; readln; end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая обеспечивает работу с консолью.
- Задаются две константы: nmax, которая определяет максимальное количество строк в матрицах (до 20), и ka, la, kb, lb, которые представляют собой количество строк и столбцов в матрицах A, B и U соответственно.
- Создаются три переменные: A, B и U, которые являются матрицами размером ka x la, kb x lb и U = A x B соответственно.
- Далее происходит инициализация матрицы A случайными числами от 1 до 9.
- Выводится матрица A.
- Затем происходит инициализация матрицы B случайными числами от 1 до 9.
- Выводится матрица B.
- После этого происходит инициализация матрицы U. Для каждого элемента матрицы U вычисляется сумма элементов матрицы A и B, умноженных друг на друга.
- Выводится матрица U.
- В конце программы выводится сообщение о том, что матрица U равна произведению матриц A и B.
- Программа завершается после ввода пользователем любого символа, кроме символа новой строки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д