C++中实现矩阵的加法和乘法实例

C++中实现矩阵的加法和乘法实例,第1张

概述C++中实现矩阵加法乘法实例实现效果图:实例代码:#include<iostream>usingnamespacestd;

C++中实现矩阵的加法和乘法实例

实现效果图:

实例代码:

#include<iostream>using namespace std;class Matrix{  int row;//矩阵的行  int col;//矩阵的列  int **a;//保存二维数组的元素public:  Matrix();//默认构造函数  Matrix(int r,int c);  Matrix(const Matrix &is);//拷贝构造函数  voID Madd(const Matrix &is);//矩阵加  Matrix Mmul(const Matrix &is);//矩阵乘  voID display();//显示矩阵元素};Matrix::Matrix(int r,int c){  row = r;  col = c;  a = (int **)malloc(sizeof(int*)*row);  for (int r = 0; r < row; r++)  {    *(a + r) = (int*)malloc(sizeof(int)*col);  }  printf("请输入数:\n");  for (int i = 0; i < row; i++)    for (int j = 0; j < col; j++)      cin >> a[i][j];}Matrix::Matrix(const Matrix & is){//拷贝构造函数  row = is.row;  col = is.col;  a = new int*[row];  for (int i = 0; i < row; i++)  {    a[i] = new int[col];  }  a = is.a;}voID Matrix::Madd(const Matrix & is){  if (row != is.row || col != is.col)//判断两矩阵是否符合相加条件  {    cout << "相加的矩阵必须行和列一致";  }  else  {    for (int i = 0; i < row; i++)    {      for (int j = 0; j < col; j++)      {        a[i][j] += is.a[i][j];      }    }  }}Matrix Matrix::Mmul(const Matrix & is){  Matrix M3(this->row,is.col);  if (this->col != is.row)//判断是否符合相乘条件  {    cout << "不符合两矩阵相乘的条件";  }  else  {    for (int i = 0; i < M3.row; i++)    {      for (int j = 0; j < M3.col; j++)      {        M3.a[i][j] = 0;        for (int n = 0; n < is.row; n++)        {          M3.a[i][j] += this->a[i][n] * is.a[n][j];        }      }    }  }  return M3;}voID Matrix::display(){//输出矩阵  for (int i = 0; i < row; i++)  {    for (int j = 0; j < col; j++)    {      cout << a[i][j] << " ";    }    cout << endl;  }  cout << endl;}int main(){  Matrix m1(3,3);  m1.display();  Matrix m2(3,3);  m2.display();  Matrix m3(3,2);  m3.display();  cout << "m1+m2=" << endl;  m1.Madd(m2);  m1.display();  Matrix m4(m1.Mmul(m3));  cout << "m1*m3=" << endl;  m4.display();  system("pause");  return 0;}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

总结

以上是内存溢出为你收集整理的C++中实现矩阵的加法和乘法实例全部内容,希望文章能够帮你解决C++中实现矩阵的加法和乘法实例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1245240.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存