天梯赛L1-048 矩阵A乘以B (15 分)
链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805082313310208
矩阵乘法:
for(int i=1;i<=a;i++)
for(int j=1;j<=y;j++)
for(int k=1;k<=b;k++)
c[i][j]+=s[i][k]*t[k][j];
代码:
#include<bits/stdc++.h>
using namespace std;
int s[105][105];
int t[105][105];
int c[105][105];
int main (){
int a,b,x,y;
cin>>a>>b;
for(int i=1;i<=a;i++)
for(int j=1;j<=b;j++)cin>>s[i][j];
cin>>x>>y;
for(int i=1;i<=x;i++)
for(int j=1;j<=y;j++)cin>>t[i][j];
if(b!=x)cout<<"Error: "<<b<<" != "<<x;
else {
for(int i=1;i<=a;i++)
for(int j=1;j<=y;j++)
for(int k=1;k<=b;k++)
c[i][j]+=s[i][k]*t[k][j];
cout<<a<<" "<<y<<endl;
for(int i=1;i<=a;i++){
for(int j=1;j<=y;j++)
{
cout<<c[i][j];
if(j<y)cout<<" ";
}
if(i<a)cout<<endl;
}
}
return 0;
}

浙公网安备 33010602011771号