最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年03月31日 16:46:17   作者:不見x的心  
這篇文章主要介紹了C++中實現(xiàn)矩陣的加法和乘法實例的相關資料,需要的朋友可以參考下

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

實現(xiàn)效果圖:

實例代碼:

#include<iostream>
using namespace std;

class Matrix
{
  int row;//矩陣的行
  int col;//矩陣的列
  int **a;//保存二維數(shù)組的元素
public:
  Matrix();//默認構造函數(shù)
  Matrix(int r, int c);
  Matrix(const Matrix &is);//拷貝構造函數(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("請輸入數(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)
{//拷貝構造函數(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;
}

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

相關文章

  • c++查詢最短路徑示例

    c++查詢最短路徑示例

    這篇文章主要介紹了c++查詢最短路徑示例,需要的朋友可以參考下
    2014-05-05
  • C++小游戲tankwar之界面繪制的詳細過程

    C++小游戲tankwar之界面繪制的詳細過程

    最近沒有項目做,空閑了下來,于是寫了個c++小游戲來打發(fā)時間,下面通過本文基于圖文并茂的形式給大家介紹C++小游戲tankwar之界面繪制的詳細過程,感興趣的朋友一起看看吧
    2021-05-05
  • C語言的常量,字符串,轉義字符,注釋你都了解嗎

    C語言的常量,字符串,轉義字符,注釋你都了解嗎

    這篇文章主要為大家詳細介紹了C語言的常量,字符串,轉義字符,注釋,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C++中remove與erase區(qū)別小結

    C++中remove與erase區(qū)別小結

    remove函數(shù)和 erase函數(shù)都可以實現(xiàn)元素的刪除,本文主要介紹了C++中remove與erase區(qū)別小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-08-08
  • C++深入分析回顧函數(shù)重載

    C++深入分析回顧函數(shù)重載

    C++ 允許多個函數(shù)擁有相同的名字,只要它們的參數(shù)列表不同就可以,這就是函數(shù)的重載(Function Overloading),借助重載,一個函數(shù)名可以有多種用途
    2022-06-06
  • 使用C語言提取子字符串及判斷對稱子字符串最大長度

    使用C語言提取子字符串及判斷對稱子字符串最大長度

    這篇文章主要介紹了使用C語言提取子字符串及判斷對稱子字符串最大長度,文后附送了一道ACM競賽題目,需要的朋友可以參考下
    2015-08-08
  • C語言字符串函數(shù),字符函數(shù),內存函數(shù)使用及模擬實現(xiàn)

    C語言字符串函數(shù),字符函數(shù),內存函數(shù)使用及模擬實現(xiàn)

    這篇文章主要介紹了C語言字符串函數(shù),字符函數(shù),內存函數(shù)使用及模擬實現(xiàn),文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • Qt QML使用虛擬鍵盤的示例代碼

    Qt QML使用虛擬鍵盤的示例代碼

    這篇文章主要為大家詳細介紹了Qt QML使用虛擬鍵盤的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-01-01
  • C語言使用單鏈表實現(xiàn)學生信息管理系統(tǒng)

    C語言使用單鏈表實現(xiàn)學生信息管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言使用單鏈表實現(xiàn)學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 基于Qt實現(xiàn)簡易GIF播放器的示例代碼

    基于Qt實現(xiàn)簡易GIF播放器的示例代碼

    這篇文章主要介紹了如何利用Qt設計一個簡易GIF播放器,可以播放GIF動畫。其基本功能有載入文件、播放、暫停、停止、快進和快退,感興趣的可以了解一下
    2022-06-06

最新評論

兴安盟| 鄱阳县| 察哈| 合江县| 微博| 祁连县| 马尔康县| 綦江县| 临猗县| 卢湾区| 南宫市| 封开县| 辽宁省| 时尚| 韶关市| 平顺县| 镇远县| 偏关县| 固阳县| 西华县| 宁陕县| 河曲县| 达拉特旗| 平山县| 中山市| 镇宁| 黎城县| 玉田县| 高阳县| 大理市| 仁布县| 吉木萨尔县| 三门县| 衡山县| 蓬安县| 楚雄市| 固原市| 民勤县| 修文县| 聊城市| 兴城市|