最后两个点过不去,求助大佬
#include<bits/stdc++.h>
using namespace std;
struct jz{
int h,s;//h横 s竖
int p[101][101];//p[x][y] x行y列
};
jz operator*(const jz &a,const jz &b){//重载运算符
if(a.h != b.s){
cout<<"ERROR\n";
}
int t = a.h;
jz ans;ans.s = a.s;ans.h = b.h;
for(int i=1;i<=ans.s;i++){
for(int j=1;j<=ans.h;j++){
for(int k=1;k<=t;k++){
ans.p[i][j] += a.p[i][k]*b.p[k][j];
}
}
}
return ans;
}
void jzprint(jz outa){
for(int i=1;i<=outa.s;i++){
for(int j=1;j<=outa.h;j++){
cout<<outa.p[i][j]<<' ';
}
cout<<endl;
}
}
int ni,mi,ki;
jz in1,in2;
int main(){
scanf("%d%d%d",&ni,&mi,&ki);
in1.h = in2.s = mi;
in1.s = ni,in2.h = ki;
for(int i=1;i<=in1.s;i++)
for(int j=1;j<=in1.h;j++)
scanf("%d",&in1.p[i][j]);
for(int i=1;i<=in2.s;i++)
for(int j=1;j<=in2.h;j++)
scanf("%d",&in2.p[i][j]);
jzprint(in1*in2);
return 0;
}