標籤:

矩陣(一)

4、矩陣(一)

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

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

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

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

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

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

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

(7) 初始化A1、A2;

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

#include<iostream>

using namespace std;

class Matrix

{

private:

int X[4][5];

public:

void SetMatrix(int xx[4][5]=0);

void SetArray(int xx[4][5]);

void putoutMatrix();

friend Matrix matrixplus(Matrix& a,Matrix& b);

friend Matrix matrixsub(Matrix& a,Matrix& b);

};

void Matrix::SetMatrix(int xx[4][5])

{

int i,j;

for(i=0;i<=3;i++)

{

for(j=0;j<=4;j++)

{

X[i][j]=xx[i][j];

}

}

}

void Matrix::SetArray(int xx[4][5])

{

int i,j;

cout<<"請輸入一個4*5矩陣:"<<endl;

for(i=0;i<=3;i++)

{

for(j=0;j<=4;j++)

{

cin>>xx[i][j];

}

getchar();

}

}

void Matrix::putoutMatrix()

{

int i,j;

for(i=0;i<=3;i++)

{

for(j=0;j<=4;j++)

{

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

}

cout<<endl;

}

}

Matrix matrixplus(Matrix& a,Matrix& b)

{

Matrix c;

int i,j;

for(i=0;i<=3;i++)

{

for(j=0;j<=4;j++)

{

c.X[i][j]=a.X[i][j]+b.X[i][j];

}

}

return c;

}

Matrix matrixsub(Matrix& a,Matrix& b)

{

Matrix c;

int i,j;

for(i=0;i<=3;i++)

{

for(j=0;j<=4;j++)

{

c.X[i][j]=a.X[i][j]-b.X[i][j];

}

}

return c;

}

int main()

{

Matrix A1,A2,A3,A4;

int xx1[4][5]={0},xx2[4][5]={0};

char z1,z2;

cout<<"採用默認值(y)/手動初始化矩陣A1(n)"<<endl;

cin>>z1;

if(z1!="y")

{

A1.SetArray(xx1);

}

A1.SetMatrix(xx1);

cout<<"採用默認值(y)/手動初始化矩陣A2(n)"<<endl;

cin>>z2;

if(z2!="y")

{

A2.SetArray(xx2);

}

A2.SetMatrix(xx2);

cout<<endl<<"矩陣A1為:"<<endl;

A1.putoutMatrix();

cout<<endl<<"矩陣A2為:"<<endl;

A2.putoutMatrix();

A3=matrixplus(A1,A2);

A4=matrixsub(A1,A2);

cout<<endl<<"A1+A2="<<endl;

A3.putoutMatrix();

cout<<endl<<"A1-A2="<<endl;

A4.putoutMatrix();

system("pause");

return 0;

}


推薦閱讀:

矩陣
矩陣和向量求導
吉薩太空矩陣——關於吉薩的最近消息
矩陣類的模板實現(C++)
語料庫語言學基礎知識:矩陣(Haskell版)

TAG:矩陣 |