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; }
|
|
来自: BUPT-BYR > 《cpp语言实例交流》