Найти произведение двух двумерных массивов - Pascal ABC

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

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

Найти произведение двух двумерных массивов А и В, если массив А имеет размерность NxM, а В-MxN. Укажите размерность результирующего массива и правило нахождения элемента с индексами i и j.

Решение задачи: «Найти произведение двух двумерных массивов»

textual
Листинг программы
uses crt;
const nmax=20;
type mas=array[1..nmax,1..nmax] of integer;
procedure Vvod(var a:mas;x,y:byte;c:char);
var i,j:byte;
begin
writeln('Матрица ',c);
for i:=1 to x do
 begin
  for j:=1 to y do
   begin
    a[i,j]:=random(10)+1;
    write(a[i,j]:3);
   end;
  writeln;
 end;
writeln;
end;
procedure Umn(a,b:mas;x,y:byte;var c:mas);
var i,j,p:byte;
begin
for p:=1 to x do
for j:=1 to x do
   begin
     c[p,j]:=0;
     for i:=1 to y do
       begin
         c[p,j]:=c[p,j]+a[p,i]*b[i,j];
       end;
   end;
writeln('Матрица C=A*B:');
for i:=1 to x do
 begin
  for j:=1 to x do
  write(c[i,j]:6);
  writeln;
 end;
end;
var a,b,c:mas;
    n,m:byte;
begin
randomize;
repeat
write('Количество строк матрицы А до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество столбцов матрицы А до ',nmax,' m=');
readln(m);
until m in [1..nmax];
Vvod(a,n,m,'A');
Vvod(b,m,n,'B');
Umn(a,b,n,m,c);
end.

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

  1. Объявлены константы и переменные:
    • nmax - максимальное значение размера матрицы (20);
    • mas - тип массива для двумерной матрицы (array[1..nmax,1..nmax] of integer);
    • a, b, c - переменные типа mas;
    • n, m - переменные для количества строк и столбцов матрицы соответственно.
  2. В функции Vvod() происходит ввод данных для матрицы A, B или C. Выводится заполненная матрица.
  3. В функции Umn() происходит умножение матрицы A на матрицу B и результат записывается в матрицу C. Затем выводится результат умножения.
  4. В основной части программы происходит запрос на ввод количества строк и столбцов матрицы A и B. Затем вызывается функция Vvod() для ввода матрицы A, B и C.
  5. После ввода матриц A и B вызывается функция Umn() для умножения матриц и выводится результат в матрице C.
  6. Программа завершается после вывода результата.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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