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

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

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

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

Люди помогите,срочно надо написать программу

Demon11101995

Новые
Регистрация
13 Дек 2013
Сообщения
18
Реакции
0
Баллы
0
Люди помогите,срочно надо написать программу

необходимо составить программу,содержащую подпрограмму для перемножения матриц.Предусмотреть контроль правильности исходных данных.
 
хмм.... у вас есть какие-нибудь наработки?
как вы представляете себе язык программирования?
как вы представляете себе программу?
как вы представляете себе контроль правильности данных?
:tehnari_ru_837::telepat:
 
Каждый элемент матрицы C (C=A*B) равен сумме произведений элементов i-й строки матрицы A на соответсвующие элементы j-го столбца матрицы B: Cij=Сумм(Aik*Bkj), где k=1,n

A(nxm)*B(mxr)=C(nxr)

Умножение матриц не подчиняется коммутативному закону - то есть A*B не равно B*A...
,



вот мои нароботки!но я не могу написать программу(
 
Скажите язык программирования.
 
Вы пробовали писать программу? просто теорию и я скопировать могу с разных источников
 
Мне необходимо написать на паскале,но чтобы понятно было.
Просто придется рассказывать как она работает!
 
пробовал,но именно с этой задачей возникли проблемы!
 
У меня на компе много разных исходников, в своё время что-то писал, на вот держи, нашел.
uses crt;
const nmax=10;
type matr=array[1..nmax,1..nmax] of integer;
procedure Umn(a,b:matr;ma,na,nb:byte;var c:matr);
var i,j,p:byte;
begin
for p:=1 to ma do
for j:=1 to nb do
begin
c[p,j]:=0;
for i:=1 to na do
c[p,j]:=c[p,j]+a[p,i]*b[i,j];
end;
writeln('Матрица C=A*B:');
for i:=1 to ma do
begin
for j:=1 to nb do
write(c[i,j]:4);
writeln;
end;
end;
var a,b,c:matr;
m,n,k,q,i,j,p:integer;
begin
clrscr;
repeat
write('Количество строк первой матрицы до ',nmax,' m=');
readln(m);
until m in [1..nmax];
repeat
write('Количество столбцов первой матрицы до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество строк второй матрицы до ',nmax,' k=');
readln(k);
if k<>n then writeln('Количество строк должно быть равно количеству столбцов первой матрицы');
until (k=n);
repeat
write('Количество столбцов второй матрицы до ',nmax,' q=');
readln(q);
until q in [1..nmax];
writeln('Матрица А:');
for i:=1 to m do
begin
for j:=1 to n do
begin
a[i,j]:=random(10);
write(a[i,j]:3);
end;
writeln;
end;
writeln('Матрица В:');
for i:=1 to k do
begin
for j:=1 to q do
begin
b[i,j]:=random(10);
write(b[i,j]:3);
end;
writeln;
end;
Umn(a,b,m,n,q,c);
readln
end.
 
Спасибо),выручили.осталось разобраться)
 
не за что, разбирайся =)
будут вопросы, пиши сюда.
 
Назад
Сверху