C語言程式設計第八章8.1(3)
阿新 • • 發佈:2018-12-20
**
利用矩陣相乘公式程式設計計算mn階矩陣A和nm階矩陣B之積
**
#include<stdio.h> #define ROW 2 #define COL 3 /*函式功能:計算矩陣相乘之積,結果存於二維陣列c中*/ void MultiplyMatrix(int a[ROW][COL],int b[COL][ROW],int c[ROW][ROW]) { int i,j,k; for(i=0;i<ROW;i++) { for(j=0;j<ROW;j++) { c[i][j]=0; for(k=0;k<COL;k++) { c[i][j]=c[i][j]+(a[i][k]*b[k][j]); } } } } /*函式功能:輸出矩陣a中的元素*/ void PrintMatrix(int a[ROW][ROW]) { int i,j; for(i=0;i<ROW;i++) { for(j=0;i<ROW;j++) { printf("%6d",a[i][j]); } printf("\n"); } } int main() { int a[ROW][COL],b[COL][ROW],c[ROW][ROW],i,j; printf("input 2*3 matrix a:\n"); for(i=0;i<ROW;i++) { for(j=0;j<COL;j++) { scanf("%d",&a[i][j]); } } printf("input 3*2 matrix b:\n"); for(i=0;i<COL;i++) { for(j=0;j<COL;j++) { scanf("%d",&b[i][j]); } } MultiplyMatrix(a,b,c); printf("Results:\n"); PrintMatrix(c); return 0; }