国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++中實現矩陣的加法和乘法實例

2020-01-26 14:12:09
字體:
來源:轉載
供稿:網友

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;}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武胜县| 陵川县| 宜城市| 沂水县| 台湾省| 新乡市| 察隅县| 桦南县| 兰考县| 肃北| 定陶县| 陈巴尔虎旗| 育儿| 都兰县| 桂阳县| 广水市| 嫩江县| 德保县| 尼木县| 吉林市| 厦门市| 增城市| 盖州市| 益阳市| 靖边县| 汉沽区| 霍林郭勒市| 华阴市| 耒阳市| 西峡县| 承德县| 泽库县| 鹤山市| 喀喇沁旗| 无锡市| 陇西县| 余干县| 高尔夫| 乌拉特中旗| 黄骅市| 洛川县|