• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Ввести две матрицы mxn и nxk. Найти и вывести их произведение

vika1997

Ученик
Регистрация
19 Мар 2014
Сообщения
1
Реакции
0
Баллы
0
Ввести две матрицы mxn и nxk. Найти и вывести их произведение

Ввести 2 матрицы mxn и nxk. Найти и вывести их произведение
 
Ввести 2 матрицы mxn и nxk. Найти и вывести их произведение
И Вам тоже здравствовать!
Может быть снизойдёте до указания языка программирования (Pascal, Delphi)? Ну и заодно, если не сильно затруднит, формат элементов матриц. Целый? Вещественный? Без разницы?
 
Для Pascal, элементы - целые числа.

const CSize= 10;
type Tmatr= array[1..CSize,1..CSize] of integer;
procedure Vvod(x,y: byte; var arg: Tmatr);
var i,j: byte;
begin
Randomize;
for i:=1 to x do
for j:=1 to y do
arg[i,j]:= Random(5)+1;
end;
procedure WriteMatr(x,y: byte; arg: Tmatr);
var i,j: byte;
begin
for i:=1 to x do begin
for j:=1 to y do
Write(arg[i,j]:4);
Writeln;
end;
Writeln;
end;
procedure UmnogMatr(x,y,z: byte; arg1,arg2: Tmatr;var arg: Tmatr);
var i,j,t: byte;
begin
for i:=1 to x do
for j:=1 to z do begin
arg[i,j]:=0;
for t:=1 to y do begin
arg[i,j]:= arg[i,j]+arg1[i,t]*arg2[t,j];
end;
end;
end;
var A,B,C: Tmatr;
m,n,k: byte;
begin
repeat
Write('m= '); Readln(m);
Write('n= '); Readln(n);
Write('k= '); Readln(k);
until (m>0) and (m<= Csize) and (n>0) and (n<= CSize)
and(k>0) and (k<=CSize);
Vvod(m,n,A);
Vvod(n,k,B);
UmnogMatr(m,n,k,A,B,C);
WriteMatr(m,k,C);
Readln;
end.

P.S Сильно не пинайте если что не так.
 
Назад
Сверху