Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2012, 17:46   #1
Женька Good
Форумчанин
 
Регистрация: 15.03.2011
Сообщений: 126
По умолчанию Паскаль. Перемножение матриц

Есть 2 матрицы: одна из них (3х5), другая (5,4)
необходимо их перемножить
Вот мой код:
Код:
procedure Z4(c:mas2);
var i,j,k:integer;
    s2:mas2;
begin
Writeln(' Peremnozenie matric A i B');
 for i:=1 to 3 do
 for j:=1 to 4 do
 begin
  //S2[i,j]:=0;
  for k:=1 to 4 do
  S2[i,j]:={S2[i,j]+}a[i,k]*b[k,j];
  c[i,j]:=S2[i,j];
  Write(c[i,j]:5);
 end;
 end;
Проверьте, правильно ли записал, а то при проверке в Excel и Mathcad не совпадают ответы.
И ещё, у меня результат выводит в строку, как сделать, чтобы результаты выводило в виде матрицы?
Женька Good вне форума Ответить с цитированием
Старый 20.03.2012, 18:13   #2
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Ну смотри, если внимательно присмотреться, то

1)зачем тебе s2 ?
если ты умножаеш матрицу A*B= то получаеш не S2, а матрицу С. Тебе незачем писать и пере присваивать отдельно сумму.
2) Теперь посмотри сюда у тебя две матрицы (3Х5) и (5Х4) что в них общего ? ( умножать матрицы можно только в том случае, если количество столбцов перовой матрицы было равно количеству строк второй матрицы) значит в цикле где у тебя K будет не от 1 до 4 , а от 1 до 5.
3) Вывод добавил ниже ... И как-то кривовато твоя процедура описана.
Тебе же надо передавать значения в процедуру.

Код:
procedure Z4( A, B: mas; i,j:integer); 
var 
   C: mas;
   k:integer;
begin
Writeln(' Peremnozenie matric A i B');
 for i:=1 to 3 do
   for j:=1 to 4 do begin
   c[i,j]:=0;
     for k:=1 to 5 do
          c[i,j]:= c[i,j]+a[i,k]*b[k,j];
   end;
for i:=1 to 3 do begin
 for j:=1 to 4 do
      write(C[i,j],' ');
      writeln;
end;
end;
Вообщем как-то так.
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перемножение матриц mozg2011 Общие вопросы Delphi 13 23.02.2012 21:50
перемножение матриц laike Помощь студентам 3 12.06.2010 12:03
Перемножение матриц Elysey Общие вопросы C/C++ 3 15.03.2010 20:18
Перемножение матриц Blad47 Общие вопросы C/C++ 1 02.02.2009 00:21
Перемножение матриц Арина Помощь студентам 1 18.05.2007 19:21