XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Общение> Трактир
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Омега

offline
Опыт: 12,033
Активность:
Умножение матриц
Код:
uses crt;
const n=3; m=3;
var
   a,b,c:array[1..n,1..m] of real;
   i,j,k : integer;
begin
     //ввод a
     for i:=1 to n do
         for j:=1 to m do
             begin
                  write('a[',i,';',j,']=');
                  readln(a[i,j]);
             end;
     //ввод b
     for i:=1 to n do
         for j:=1 to m do
             begin
                  write('b[',i,';',j,']=');
                  readln(b[i,j]);
             end;
     clrscr;
     //a*b
     for i:=1 to n do
         for j:=1 to m do
             for k:=1 to n do
                 c[i,j]:=c[i,j]+(a[i,k]*b[k,j]);
     //вывод результата
     for i:=1 to n do
          begin
          for j:=1 to m do
              begin
                   write(c[i,j],'  ');
              end;
              writeln;
          end;
end.

Как можно произвести умножение, не используя k? (преподше жутко не нравится)
Старый 13.11.2009, 10:59
vit
кааааррл
offline
Опыт: 3,586
Активность:
формула Cij=Ai1B1j+Ai2B2j+...+AinBjm
сиди мучай как без К...
не думаю что без него можно записать
Старый 13.11.2009, 14:03
agentex

offline
Опыт: 34,834
Активность:
struct MATRIX3
    static MATRIX3 Zero
    static MATRIX3 E
    real m11
    real m12
    real m13
    real m21
    real m22
    real m23
    real m31
    real m32
    real m33
method SetValues takes real r11, real r12, real r13, real r21, real r22, real r23, real r31, real r32, real r33 returns MATRIX3
        set .m11 = r11
        set .m12 = r12
        set .m13 = r13
        set .m21 = r21
        set .m22 = r22
        set .m23 = r23
        set .m31 = r31
        set .m32 = r32
        set .m33 = r33
        return this
    endmethod
endstruct

function Matrix3Multiply takes MATRIX3 Output, MATRIX3 M1, MATRIX3 M2 returns MATRIX3  
    return Output.SetValues(M1.m11*M2.m11+M1.m21*M2.m12+M1.m31*M2.m13,M1.m12*M2.m11+M1.m22*M2.m12+M1.m32*M2.m13​,M1.m13*M2.m11+M1.m23*M2.m12+M1.m33*M2.m13,M1.m11*M2.m21+M1.m21*M2.m22+M1.m31*M2.m23,M1.m12*M2.m21+M​1.m22*M2.m22+M1.m32*M2.m23,M1.m13*M2.m21+M1.m23*M2.m22+M1.m33*M2.m23,M1.m11*M2.m31+M1.m21*M2.m32+M1.​m31*M2.m33,M1.m12*M2.m31+M1.m22*M2.m32+M1.m32*M2.m33,M1.m13*M2.m31+M1.m23*M2.m32+M1.m33*M2.m33)
endfunction
из дгуи джона.. или такой тупорылый вариант не рассматривается?
Старый 07.01.2010, 18:45
GadenbIsh
Просто Гад
offline
Опыт: 70,430
Активность:
c[i,j]:=(a[i,1]*b[1,j]) + (a[i,2]*b[2,j]) + (a[i,3]*b[3,j]);
но это тупо, конечно=)
Старый 07.01.2010, 19:29
GadenbIsh
Просто Гад
offline
Опыт: 70,430
Активность:
Омега, так ты выяснил, как же надо было умножать без K - лишней переменной?
Старый 13.02.2010, 00:47
Ответ

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

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

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

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 19:31.