![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Tribunal |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Пол: Женский Реальное имя: Dasha Репутация: ![]() ![]() ![]() |
допустим,если использовать самый простой способ хранения разреженных матриц-
хранение значений, номера строк и столбцов в трёх одномерных массивах... собственно,вопрос стоит в том,чтобы складывать и умножать две мптрицы,заданные таким образом. для сложения вроде процедуру придумала...только вот она считает сумму элементов тогда,когда индексы не совпадают... Код var i,j:integer; begin h:=1; for i:=1 to k do for j:=1 to c do begin if (ia[i]=ib[j]) and (ja[i]=jb[j]) then begin cn[h]:=an[i]+bn[j]; ic[h]:=ia[i]; jc[h]:=ja[i]; h:=h+1;end else begin cn[h]:=an[i]; ic[h]:=ia[i]; jc[h]:=ja[i]; h:=h+1; cn[h]:=bn[j]; ic[h]:=ib[j]; jc[h]:=jb[j]; h:=h+1;end; end; end; здесь k,c кол-во полученных элементов в матрицах а и b соответственно. для умножения не могу сообразить условие,по которому выполнялась бы эта операция... не могли бы вы помочь мне в этих вопросах? -------------------- irreparabilium felix olivio rerum
|
![]() ![]() |
![]() |
Текстовая версия | 9.07.2025 21:39 |