作者irpolo1 (书会飞)
看板C_and_CPP
标题[问题] 矩阵相乘
时间Sat Nov 13 10:43:25 2021
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://webptt.com/cn.aspx?n=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
1F:→ mikemike1021: 第一张图的条件是要确认是否能相乘 AxB 要满足 11/13 13:59
2F:→ mikemike1021: #cols of A == #rows of B 11/13 13:59
3F:→ mikemike1021: 中间条件是确保 C(i, j) = sum A(i, *) * B(*, j) 11/13 14:04
4F:→ mikemike1021: 当发现不合条件时,就把前面算的结果存到对应的位置 11/13 14:05
5F:→ mikemike1021: 在继续算下一个 11/13 14:05
6F:→ mikemike1021: 文章所提到步骤,利用此值,进入第二张图第一个条件 11/13 14:12
7F:→ mikemike1021: 这样就会顺便把最後计算结果存进去,如果不用这样的 11/13 14:12
8F:→ mikemike1021: 方式,就要在回圈外把最後面算的值存进去 11/13 14:13
9F:→ mikemike1021: 他这样写,可能会有阵列非法存取的问题在XD 11/13 14:14
10F:→ mikemike1021: 如果对稀疏矩阵有兴趣,可以参考我之前写的两篇 11/13 14:15
13F:→ mikemike1021: 这些是我平常比较会碰到的稀疏矩阵储存方式 11/13 14:17
14F:→ mikemike1021: 有相关问题也欢迎在那里同时发问 11/13 14:17