Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 19.03.2014, 23:37   #1 (permalink)
vika1997
Новичок
 
Регистрация: 19.03.2014
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Ввести две матрицы mxn и nxk. Найти и вывести их произведение

Ввести 2 матрицы mxn и nxk. Найти и вывести их произведение
vika1997 вне форума   Ответить с цитированием

Старый 19.03.2014, 23:37
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Посоветую вам прочитать содержимое данных топиков

Даны матрицы a,b,c размером nxn определяем генератор чисел a+b*c, найти новую матрицу
Программа. Вычислить сумму или произведение
В массиве А(12) вычислить произведение
Ввести строку и инвертировать каждое слово
Найти произведение чисел, меньших заданного числа b
ВКонтакте просит ввести номер

Старый 20.03.2014, 10:11   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от vika1997 Посмотреть сообщение
Ввести 2 матрицы mxn и nxk. Найти и вывести их произведение
И Вам тоже здравствовать!
Может быть снизойдёте до указания языка программирования (Pascal, Delphi)? Ну и заодно, если не сильно затруднит, формат элементов матриц. Целый? Вещественный? Без разницы?
Vladimir_S вне форума   Ответить с цитированием
Старый 20.03.2014, 11:22   #3 (permalink)
Евгений
Member
 
Аватар для Евгений
 
Регистрация: 31.03.2010
Адрес: Тульская область
Сообщений: 1,309
Сказал(а) спасибо: 11
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 13090
По умолчанию

Для 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 Сильно не пинайте если что не так.
Евгений вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 03:21.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.