C中实现矩阵的加法和乘法实例实现效果图实例代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116#includeiostreamusingnamespacestd;classMatrix{introw;//矩阵的行intcol;//矩阵的列int**a;//保存二维数组的元素public:Matrix();//默认构造函数Matrix(intr,intc);Matrix(constMatrix is);//拷贝构造函数voidMadd(constMatrix is);//矩阵加Matrix Mmul(constMatrix is);//矩阵乘voiddisplay();//显示矩阵元素};Matrix::Matrix(intr,intc){row r;col c;a (int**)malloc(sizeof(int*)*row);for(intr 0; r row; r){*(a r) (int*)malloc(sizeof(int)*col);}printf(请输入数\n);for(inti 0; i row; i)for(intj 0; j col; j)cin a[i][j];}Matrix::Matrix(constMatrix is){//拷贝构造函数row is.row;col is.col;a newint*[row];for(inti 0; i row; i){a[i] newint[col];}a is.a;}voidMatrix::Madd(constMatrix is){if(row ! is.row || col ! is.col)//判断两矩阵是否符合相加条件{cout 相加的矩阵必须行和列一致;}else{for(inti 0; i row; i){for(intj 0; j col; j){a[i][j] is.a[i][j];}}}}Matrix Matrix::Mmul(constMatrix is){Matrix M3(this-row, is.col);if(this-col ! is.row)//判断是否符合相乘条件{cout 不符合两矩阵相乘的条件;}else{for(inti 0; i M3.row; i){for(intj 0; j M3.col; j){M3.a[i][j] 0;for(intn 0; n is.row; n){M3.a[i][j] this-a[i][n] * is.a[n][j];}}}}returnM3;}voidMatrix::display(){//输出矩阵for(inti 0; i row; i){for(intj 0; j col; j){cout a[i][j] ;}cout endl;}cout endl;}intmain(){Matrix m1(3, 3);m1.display();Matrix m2(3, 3);m2.display();Matrix m3(3, 2);m3.display();cout m1m2 endl;m1.Madd(m2);m1.display();Matrix m4(m1.Mmul(m3));cout m1*m3 endl;m4.display();system(pause);return0;}感谢阅读希望能帮助到大家