矩陣空間採用 new 動態申請,儲存在指標中

bug不存在的發表於2021-10-26

編寫C++程式完成以下功能:

(1)假定矩陣大小為4×5(整型陣列表示);

(2)定義矩陣初始化函式,可以從cin中輸入矩陣元素;

(3)定義矩陣輸出函式,將矩陣格式化輸出到cout;

(4)定義矩陣相加的函式,實現兩個矩陣相加的功能,結果儲存在另一個矩陣中;

(5)定義矩陣相減的函式,實現兩個矩陣相減的功能,結果儲存在另一個矩陣中;

(6)定義三個矩陣:A1、A2、A3;

(7)初始化A1、A2;

計算並輸出:A3 = A1加A2,A3 = A1減A2。


#include<iostream>

#define M 4

#define N 5

using namespace std;


class Matrix

{

      public:

            int A[M][N];

            void getMatrix()

            {

            cout<<"Please enter the matrix."<<endl;

            for(int i=0;i<M;i++)

               for(int j=0;j<N;j++)                     //讀入矩陣 

                   {

                   cin>>A[i][j];

                   }

            }

            

            void outPut()                             //輸出矩陣 

            {

            for(int i=0;i<M;i++)

               {

               for(int j=0;j<N;j++)

                   {

                   cout<<A[i][j]<<" ";

                   }

               cout<<endl;

               }

            }

            

            void matrixPlus(Matrix B,Matrix C)          //求和 

            {

            for(int i=0;i<M;i++)

               for(int j=0;j<N;j++)

                   this->A[i][j]=B.A[i][j]+C.A[i][j];

            }

            

            void matrixCut(Matrix B,Matrix C)            //做差 

            {

            for(int i=0;i<M;i++)

               for(int j=0;j<N;j++)

                   this->A[i][j]=B.A[i][j]-C.A[i][j];  

            }

            Matrix(){}

            ~Matrix(){} 

};


main()

{

      Matrix A1,A2,A3;                           //宣告類 

      A1.getMatrix();                            //讀入 

      A2.getMatrix();

      

      cout<<"The result of A1 and A2 is:"<<endl;

      A3.matrixPlus(A1,A2);

      A3.outPut();

      cout<<"The result of A1 subtract A2 is:"<<endl;

      A3.matrixCut(A1,A2);

      A3.outPut();

      

      system("pause");

}


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70007877/viewspace-2839421/,如需轉載,請註明出處,否則將追究法律責任。

相關文章