| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 300 人关注过本帖
标题:帮忙看下哪里错了
只看楼主 加入收藏
心手2012
Rank: 2
等 级:论坛游民
帖 子:41
专家分:14
注 册:2012-3-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
帮忙看下哪里错了
程序代码:
#include<iostream.h>

class MAT
{
    float **p;
    int row;
    int cloum;
public:
    MAT(){}
    MAT(int r,int c)
    {                       
        row=r;
        cloum=c;
        p=new float *[row];
        for(int i=0;i<row;i++)
        {
            p[i]=new float [cloum];
        }
    }
    void getdata();
    void display();
    void operator-();
    friend MAT operator+(MAT,MAT);  
    friend MAT operator*(int ,MAT &);
};
void MAT::getdata()
{
    for(int i=0;i<row;i++)
        for(int j=0;j<cloum;j++)
            cin>>*((*p+i)+j);
}
void MAT::display()
{
    for(int i=0;i<row;i++)
    {
        for(int j=0;j<cloum;j++)
            cout<<*((*p+i)+j)<<" ";
        cout<<endl;
    }
    cout<<endl;
}
MAT operator+(MAT s1,MAT s2)
{
    MAT k(s1.row,s1.cloum);
    for(int i=0;i<k.row;i++)
    {
        for(int j=0;j<k.cloum;j++)
            k.p[i][j]=s1.p[i][j]+s2.p[i][j];
    }
    return(k);
}
void MAT:: operator-()
{
    for(int i=0;i<row;i++)
    {
        for(int j=0;j<cloum;j++)
            p[i][j]=-p[i][j];
    }
}
MAT operator*(int a,MAT & s)
{
    MAT k(s.row,s.cloum);
    for(int i=0;i<k.row;i++)
    {
        for(int j=0;j<k.cloum;j++)
            k.p[i][j]=a*s.p[i][j];
    }
    return(k);
}
int main()
{
    const int n=3;
    MAT t1(n,n),t2(n,n);
    cout<<"enter two "<<n<<"*"<<n<<" arrays:\n";
    t1.getdata();
    t2.getdata();

    MAT t3,t4;
    -t2;
    t3=t1+t2;   
    t4=2*t1;
    t2.display();
    t3.display();
    t4.display ();
    return 0;
}
就是运行的时候打印出来的有类似地址值的东西
搜索更多相关主题的帖子: color 
2012-05-02 11:46
lucky563591
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:765
专家分:2103
注 册:2009-11-18
收藏
得分:0 
哪有?我运行怎么没有发现?
2012-05-02 12:47
tongzhipeng
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:14
专家分:101
注 册:2012-5-1
收藏
得分:20 
二极指针写错了
*((*p+i)+j)应该写成 *(*(p+i)+j)
这个确实容易搞错,所以我总是尽量写成p[i][j]; 因为我也经常在这上面犯错,所以我看到代码第一件事就是把你的代码里面的二级指针改成p[i][j],
结果一下被我命中,
2012-05-02 15:02
心手2012
Rank: 2
等 级:论坛游民
帖 子:41
专家分:14
注 册:2012-3-15
收藏
得分:0 
回复 3楼 tongzhipeng
  是你说的问题,我下次要注意了。谢谢!
2012-05-02 18:25
快速回复:帮忙看下哪里错了
数据加载中...
 
   



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

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