[問題] 矩陣相乘

看板C_and_CPP (C/C++)作者 (書會飛)時間2年前 (2021/11/13 10:43), 2年前編輯推噓0(0014)
留言14則, 1人參與, 2年前最新討論串1/1
https://imgur.com/a/Goa96Kn https://imgur.com/a/9inF6W8 https://imgur.com/a/pfjT5e9 念資結時看不懂這個程式 中間三個if else 的地方 在做什麼? 還有a[totala+1].row= rowsA這行是做什麼用的? 所以來請教板上高手 ---- Sent from BePTT on my ASUS_I002D -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.137.10 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1636771408.A.80A.html ※ 編輯: irpolo1 (1.200.137.10 臺灣), 11/13/2021 10:47:16 ※ 編輯: irpolo1 (1.200.137.10 臺灣), 11/13/2021 10:48:09

11/13 13:59, 2年前 , 1F
第一張圖的條件是要確認是否能相乘 AxB 要滿足
11/13 13:59, 1F

11/13 13:59, 2年前 , 2F
#cols of A == #rows of B
11/13 13:59, 2F

11/13 14:04, 2年前 , 3F
中間條件是確保 C(i, j) = sum A(i, *) * B(*, j)
11/13 14:04, 3F

11/13 14:05, 2年前 , 4F
當發現不合條件時,就把前面算的結果存到對應的位置
11/13 14:05, 4F

11/13 14:05, 2年前 , 5F
在繼續算下一個
11/13 14:05, 5F

11/13 14:12, 2年前 , 6F
文章所提到步驟,利用此值,進入第二張圖第一個條件
11/13 14:12, 6F

11/13 14:12, 2年前 , 7F
這樣就會順便把最後計算結果存進去,如果不用這樣的
11/13 14:12, 7F

11/13 14:13, 2年前 , 8F
方式,就要在迴圈外把最後面算的值存進去
11/13 14:13, 8F

11/13 14:14, 2年前 , 9F
他這樣寫,可能會有陣列非法存取的問題在XD
11/13 14:14, 9F

11/13 14:15, 2年前 , 10F
如果對稀疏矩陣有興趣,可以參考我之前寫的兩篇
11/13 14:15, 10F

11/13 14:16, 2年前 , 11F

11/13 14:16, 2年前 , 12F

11/13 14:17, 2年前 , 13F
這些是我平常比較會碰到的稀疏矩陣儲存方式
11/13 14:17, 13F

11/13 14:17, 2年前 , 14F
有相關問題也歡迎在那裡同時發問
11/13 14:17, 14F
文章代碼(AID): #1XZoPGWA (C_and_CPP)
文章代碼(AID): #1XZoPGWA (C_and_CPP)