分享

矩阵(一)

 BUPT-BYR 2010-12-08

 

4、矩阵(一)

编写C++程序完成以下功能:

(1)    假定矩阵大小为4×5(整型数组表示);

(2)    定义矩阵初始化函数,可以从cin中输入矩阵元素;

(3)    定义矩阵输出函数,将矩阵格式化输出到cout

(4)    定义矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵中;

(5)    定义矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵中;

(6)    定义三个矩阵:A1A2A3

(7)    初始化A1A2

(8)    计算并输出:A3 = A1A2A3 = A1A2

 

 

#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/手动初始化矩阵A1n"<<endl;

       cin>>z1;

       if(z1!='y')

       {

              A1.SetArray(xx1);

       }

       A1.SetMatrix(xx1);

 

              cout<<"采用默认值(y/手动初始化矩阵A2n"<<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;

}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多