4942-計算兩個矩陣的乘積 ZCMU
阿新 • • 發佈:2018-12-10
Description
計算兩個矩陣的乘積,第一個是2*3矩陣,第二個是3*2矩陣,結果為一個2*2矩陣。
Input
輸入包含多組資料,先輸入一個2*3矩陣,再輸入一個3*2矩陣。
Output
輸出兩個矩陣的乘積。
Sample Input
1 1 1
1 1 1
1 1
1 1
1 1
Sample Output
3 3
3 3
思路
矩陣乘法需再開一個數組用以儲存兩矩陣相乘後的結果
程式碼
#include<stdio.h> #include<string.h> int g1[5][5],g2[5][5],ans[5][5]; int main() { while(~scanf("%d %d %d",&g1[0][0],&g1[0][1],&g1[0][2])) { for(int i=1;i<2;i++) { for(int j=0;j<3;j++) { scanf("%d",&g1[i][j]); } } for(int i=0;i<3;i++) { for(int j=0;j<2;j++) { scanf("%d",&g2[i][j]); } } memset(ans,0,sizeof(ans)); for(int i=0;i<2;i++) { for(int j=0;j<2;j++) { for(int k=0;k<3;k++) { ans[i][j]+=g1[i][k]*g2[k][j]; } } } for(int i=0;i<2;i++) { for(int j=0;j<2;j++) { if(j==0) printf("%d",ans[i][j]); else printf(" %d",ans[i][j]); } printf("\n"); } } return 0; }