给出2个N * N的矩阵M1和M2,输出2个矩阵相乘后的结果。
中文题目,简单易懂。
#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
using namespace std;
int n;
struct node{
long long int c[101][101];
};
node mult(node a,node b){
struct node ss;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
ss.c[i][j] = 0;
for(int k=0;k<n;k++){
ss.c[i][j] += a.c[i][k]*b.c[k][j];
}
}
}
return ss;
}
int main(){
while(scanf("%d",&n)!=EOF){
struct node a,b;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
scanf("%lld",&a.c[i][j]);
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
scanf("%lld",&b.c[i][j]);
}
}
struct node tt = mult(a,b);
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(j == n-1){
printf("%lld\n",tt.c[i][j]);
}else{
printf("%lld ",tt.c[i][j]);
}
}
}
}
return 0;
}