C语言中关于数组间的运算

来源:百度知道 编辑:UC知道 时间:2024/06/07 08:51:36
比如数组A={{1,2,3},{4,5,6}},
而数组B={{1,5},{5,3},{8,1}},
求 这两个数组的乘积 得出的新的数组。
那新生成的数组是[2][3]啊还是[3][2]啊

这种运算,在线性代数里面叫矩阵乘法
A[2][3]×B[3][2]结果是C[2][2]

A={{1,2,3},{4,5,6}},
B={{1,5},{5,3},{8,1}},
C=A×B={{35,14},{77,41}}。
其中C[i][j]=A的第i行与B的第j列各个元素相乘后,再相加得到的和。
如C[1][1]={4,5,6}*{5,3,1}=4*5+5*3+6*1=41

明显是[2][2]啊,这是矩阵相乘。
1 2 3 1 5
{ } * { 5 3 }
4 5 6 8 1

是一对一的乘吗?做个循环就行了 A[2][3] B[3][2] 一个一个乘赋值给A就可以了

新生成的是 [2][2]