文章
166
粉丝
68
获赞
829
访问
51.6k
#include <bits/stdc++.h>
using namespace std;
int main() {
std::vector<vector<int>> a(3,vector<int>(3)),b(3,vector<int>(3)),c(3,vector<int>(3));
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
cin>>a[i][j];
}
}
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
cin>>b[i][j];
}
}
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
for(int k=0;k<3;k++){
c[i][j]+=a[i][k]*b[k][j];
}
}
}
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
cout<<c[i][j]<<' ';
}cout<<endl;
}
}
矩阵乘是每行乘每列每个元素,也就是要进行三重循环,我们取a的每一行,乘b的每一列,对于行列之中的数量是相等的,是a的列数,也是b的行数,这时候,我们我们按照横向的过程逐个生成c的每一个数值,就是先对a进行行的结构选择,然后对b进行列的选择,然后从左到右,从上到下取他们的行列中值,然后求和,加入c中,即得c的一个元素
登录后发布评论
暂无评论,来抢沙发