矩陣乘法運算

 

  1. #include "stdafx.h"  
  2.  
  3. void matrix_mutiply(int *m1, int *m2, int *r, int x, int y, int z);  
  4.  
  5. int main(int argc, char* argv[])  
  6. {  
  7.     int m1[]={2, -6 , 3, 5, 1, -1};  
  8.     int m2[]={4, -2, -4, -5, -7, -3, 6, 7};  
  9.     int r[100];  
  10.  
  11.     matrix_mutiply(m1, m2, r, 3, 2, 4);  
  12.  
  13.     for (int t=0; t<3; t++)  
  14.     {  
  15.         for (int h=0; h<4; h++)  
  16.         {  
  17.             printf("%3d ", r[4*t+h]);  
  18.         }  
  19.         printf("\n");  
  20.     }  
  21.  
  22.     return 0;  
  23. }  
  24.  
  25. void matrix_mutiply(int *m1, int *m2, int *r, int x, int y, int z)  
  26. {  
  27.     for (int i=0; i<x; i++)  
  28.     {  
  29.         for (int j=0; j<z; j++)  
  30.         {  
  31.             r[i * z + j]=0;  
  32.             for (int k=0; k<y; k++)  
  33.             {  
  34.                 r[i * z + j] = r[i * z + j] + m1[i * y + k] * m2[k * z +j];  
  35.             }  
  36.         }  
  37.     }  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章