ch7_12.cpp
资源名称:c.rar [点击查看]
上传用户:puke2000
上传日期:2022-07-25
资源大小:912k
文件大小:1k
源码类别:

C#编程

开发平台:

Visual C++

  1. //**********************
  2. //**    ch7_12.cpp    **
  3. //**********************
  4. #include <iostream.h>
  5. #include <iomanip.h>
  6. int a[3][4]={{ 5, 7, 8, 2},
  7.              {-2, 4, 1, 1},
  8.              { 1, 2, 3, 4}};
  9. int b[4][5]={{4,-2, 3, 3, 9},
  10.              {4, 3, 8,-1, 2},
  11.              {2, 3, 5, 2, 7},
  12.              {1, 0, 6, 3, 4}};
  13. int c[3][5];
  14. bool MultiMatrix(int a[3][4], int arow, int acol,
  15.                  int b[4][5], int brow, int bcol,
  16.                  int c[3][5], int crow, int ccol);    //函数声明
  17. void main()
  18. {
  19.   if(MultiMatrix(a,3,4, b,4,5, c,3,5)){
  20.     cout <<"illegal matrix multiply.n";
  21.     return;
  22.   }
  23.   for(int i=0; i<3; i++){    //输出矩阵乘法的结果
  24.     for(int j=0; j<5; j++)
  25.       cout <<setw(5) <<c[i][j];
  26.     cout <<endl;
  27.   }
  28. }
  29. bool MultiMatrix(int a[3][4], int arow, int acol,
  30.                  int b[4][5], int brow, int bcol,
  31.                  int c[3][5], int crow, int ccol)
  32. {
  33.   if(!((acol==brow)&&(crow==arow)&&(ccol==bcol)))      //正确性检查
  34.     return 1;
  35.   for(int i=0; i<crow; i++)       //行
  36.     for(int j=0; j<ccol; j++){    //列
  37.       c[i][j]=0;       //此句可以省略,因为c是全局数组
  38.       for(int n=0; n<acol; n++)   //求一个元素
  39.         c[i][j]+= a[i][n] * b[n][j];
  40.     }
  41.   return 0;
  42. }