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

首頁(yè) > 編程 > C++ > 正文

C++中實(shí)現(xiàn)矩陣的加法和乘法實(shí)例

2020-05-23 13:50:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

C++中實(shí)現(xiàn)矩陣的加法和乘法實(shí)例

實(shí)現(xiàn)效果圖:

C++,矩陣,加法,乘法,矩陣的加法和乘法實(shí)例

實(shí)例代碼:

#include<iostream>using namespace std;class Matrix{  int row;//矩陣的行  int col;//矩陣的列  int **a;//保存二維數(shù)組的元素public:  Matrix();//默認(rèn)構(gòu)造函數(shù)  Matrix(int r, int c);  Matrix(const Matrix &is);//拷貝構(gòu)造函數(shù)  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("請(qǐng)輸入數(shù):/n");  for (int i = 0; i < row; i++)    for (int j = 0; j < col; j++)      cin >> a[i][j];}Matrix::Matrix(const Matrix & is){//拷貝構(gòu)造函數(shù)  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;}

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


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 洛川县| 清丰县| 云和县| 临泽县| 明星| 榆林市| 青神县| 广州市| 辉南县| 邯郸市| 杭锦旗| 临桂县| 康平县| 五家渠市| 宜春市| 浦江县| 阿尔山市| 敦化市| 清水县| 峨边| 乐昌市| 新建县| 天镇县| 都匀市| 睢宁县| 当雄县| 冕宁县| 河东区| 上杭县| 都兰县| 庆元县| 资兴市| 涿鹿县| 奉贤区| 乡宁县| 滦南县| 五寨县| 盈江县| 浦东新区| 连平县| 治县。|