标题:求矩阵的相加减,各位帮忙看一下什么地方错了,帮忙看一下!
只看楼主
远方的海
Rank: 1
等 级:新手上路
帖 子:18
专家分:6
注 册:2011-11-11
结帖率:83.33%
 问题点数:0 回复次数:0 
求矩阵的相加减,各位帮忙看一下什么地方错了,帮忙看一下!
#include<iostream>
using namespace std;
const int m=3;
const int n=3;
class mat
{
private:
    int jj[m][n];
public:
    mat();
    mat(int a[m][n]);
    friend mat operator+(mat &a,mat &b);
    friend mat operator-(mat &a,mat &b);
    void display();
}
mat::mat()
{
    for(int i=0;i<m;i++)
        for(int j=0;j<n;j++)
            jj[i][j]=0;
}
mat::mat(int a[m][n])
{
    for(int i=0;i<m;i++)
        for(int j=0;j<n;j++)
            jj[i][j]=a[i][j];
}
mat operator +(mat &a,mat &b)
{
    mat c;
    for(int i=0;i<m;i++)
        for(int j=0;j<n;j++)
            c.jj[i][j]=a.jj[i][j]+b.jj[i][j];
        return c;
}
mat operator -(mat &a,mat &b)
{
    mat c;
    for(int i=0;i<m;i++)
        for(int j=0;j<n;j++)
            c.jj[i][j]=a.jj[i][j]-b.jj[i][j];
        return c;
}
void mat::display()
{
    for(int i=0;i<m;i++)
    {
        cout<<"        ";
        for(int j=0;j<n;j++)
        {
            cout<<jj[i][j]<<" ";
            if(j==n-1)
                cout<<endl;
        }
    }
}
int main()
{
    int i=0,j=0;
    int a[m][n],b[m][n];
    cout<<"请输入第一个矩阵的元素:"<<endl;
    for(i=0;i<m;i++)
    {
        for(j=0;i<n;j++)
        {
            cin>>a[i][j];
        }
    }
    cout<<"请输入第二个矩阵的元素:"<<endl;
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
            cin>>b[i][j];
    }
    mat x(a),y(b);
    cout<<"x="<<endl;
    x.display();
    cout<<"y="<<endl;
    y.display();
    cout<<"x+y="<<endl;
    (x+y).display();
    cout<<"x-y="<<endl;
    (x-y).display();
    return 0;
}
搜索更多相关主题的帖子: mat 矩阵 private display include 
2012-06-16 17:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-371654-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.195743 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved