<强> c++中实现矩阵的加法和乘法实例强>
实现效果图:
实例代码:
# include使用名称空间性病; 类矩阵 { int行;//矩阵的行 int坳;//矩阵的列 int * *,//保存二维数组的元素 公众: 矩阵();//默认构造函数 c r矩阵(int, int); 矩阵(const矩阵及);//拷贝构造函数 空白Madd (const矩阵及);//矩阵加 矩阵Mmul (const矩阵及);//矩阵乘 空白显示();//显示矩阵元素 }; c r矩阵::矩阵(int, int) { 行=r; 坳=c;=(int * *) malloc (sizeof (int *) *行); for (int r=0;r & lt;行;r + +) { * (+ r)=(int *) malloc (sizeof (int) *坳); } printf(“请输入数:\ n”); for (int i=0;我& lt;行;我+ +) for (int j=0;j & lt;上校;j + +) ,cin祝辞的在[我][j]; } 矩阵::矩阵(const矩阵,是) {//拷贝构造函数 行=is.row; 坳=is.col; 一个=new int *(行); for (int i=0;我& lt;行;我+ +) { [我]=new int (col); } 一个=现在开始; } 空矩阵::Madd (const矩阵,是) { 如果(行!=P衸 |坳!=is.col)//判断两矩阵是否符合相加条件 { cout & lt; & lt;“相加的矩阵必须行和列一致”; } 其他的 { for (int i=0;我& lt;行;我+ +) { for (int j=0;j & lt;上校;j + +) { 现在开始讨论一个[我][j] +=[我][j]; } } } } 矩阵矩阵::Mmul (const矩阵,是) { 矩阵M3(这→行,is.col); 如果(这→坳!=is.row)//判断是否符合相乘条件 { cout & lt; & lt;“不符合两矩阵相乘的条件”; } 其他的 { for (int i=0;我& lt;M3.row;我+ +) { for (int j=0;j & lt;M3.col;j + +) { M3。[我][j]=0; for (int n=0;n & lt;is.row;n + +) { M3。[我][j] +=这→现在开始讨论[我][n] * [n] [j]; } } } } 返回立方米; } 空矩阵::显示() {//输出矩阵 for (int i=0;我& lt;行;我+ +) { for (int j=0;j & lt;上校;j + +) { cout & lt; & lt;[我][j] & lt; & lt;“”; } cout & lt; & lt;endl; } cout & lt; & lt;endl; } int main () { 矩阵m1 (3,3); m1.display (); 矩阵m2 (3,3); m2.display (); 矩阵m3 (3 2); m3.display (); cout & lt; & lt;“m1 + m2=" & lt; & lt;endl; m1.Madd (m2); m1.display (); 矩阵m4 (m1.Mmul (m3)); cout & lt; & lt;“m1 * m3=" & lt; & lt;endl; m4.display (); 系统(“暂停”); 返回0; }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!