| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 731 人关注过本帖
标题:C++编程出现点问题 求解答!!
只看楼主 加入收藏
YZAM
Rank: 1
等 级:新手上路
帖 子:8
专家分:5
注 册:2010-3-29
结帖率:33.33%
收藏
 问题点数:0 回复次数:7 
C++编程出现点问题 求解答!!
有两个矩阵a和b,均为2行3列,编译程序,求两个矩阵之和。重载插入运算符“<<”和提取运算符“>>”,使之能用于该矩阵的输入输出。重载运算符“+”,使之能用于矩阵相加,如c=a+b。   我变得程序下   求和的结果有错!!!


#include<iostream>
using namespace std;
class JU{
public:
    JU()
    {a[0][0]=0;
     b[0][0]=0;
     c[0][0]=0;
    }
   
    int a_set()
    {int i,j;
     for( i=0;i<2;i++)
     {cout<<"a数组输入第"<<i+1<<"行:"<<endl;
       for(j=0;j<3;j++)
       {cin>>a[i][j];}
     }
     return 0;
    }
    int b_set()
    {int i,j;
     for( i=0;i<2;i++)
     {cout<<"b数组输入第"<<i+1<<"行:"<<endl;
       for(j=0;j<3;j++)
       {cin>>b[i][j];}
     }
     return 0;
    }
    friend JU operator+(JU &a1,JU &b1);
    friend ostream &operator<<(ostream &out,JU &obj);
    friend istream &operator>>(istream &in,JU &obj);
private:
    int a[2][3];
    int b[2][3];
    int c[2][3];
};
ostream &operator<<(ostream &out,JU &obj)
{out<<obj.a_set();
 return out;
}
istream &operator>>(istream &in,JU &obj)
{    return in;}
 JU operator+(JU &a1,JU &b1)
 {JU temp;
  int i,j;
  for(i=0;i<2;i++)
      for(j=0;j<3;j++)
      {temp.c[i][j]=a1.a[i][j]+b1.b[i][j];
        cout<<temp.c[i][j]<<" ";
      }
  return temp;
 }
void main()
{JU ob_a,ob_b,sum;
cout<<ob_a<<endl;
cout<<ob_b<<endl;
sum=ob_a+ob_b;
}
搜索更多相关主题的帖子: 解答 
2010-06-05 18:42
YZAM
Rank: 1
等 级:新手上路
帖 子:8
专家分:5
注 册:2010-3-29
收藏
得分:0 
大侠帮帮忙啊。。。。。。。。。。。
2010-06-05 18:53
因酷判刑十年
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-6-8
收藏
得分:0 
帮帮忙啊。。。。。。。。。。。
2010-06-08 01:41
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:0 
求和错误是因为你求和的对象有问题。归根到底是代码有问题。你输入的时候是都是调用 obj.a_set();就是说,每个对象都是设置a数组。然后你的求和是:
temp.c[i][j]=a1.a[i][j]+b1.b[i][j];
因为b1是只赋了a数组的值,而b数组未操作,仍是系统的未定值,你进行相加操作的话,自然会出错。想结果对的话,可将上面那句话改为:
temp.c[i][j]=a1.a[i][j]+b1.a[i][j];
最后,你的代码很不合格。。重载插入运算符和提取运算符不是这样子来的,重载 + 也应该是单纯的 + 。建议好好看看书,看看别人的代码,参考一下。
2010-06-08 10:55
xin310923
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:203
专家分:325
注 册:2009-12-22
收藏
得分:0 
ostream  是什么意思啊    自己定义的变量名吗????
2010-06-08 13:42
rwyangguang
Rank: 2
等 级:论坛游民
帖 子:23
专家分:46
注 册:2009-7-7
收藏
得分:0 

#include<iostream>
using namespace std;
改为
#include<iostream.h>就行

我也不知道为什么  ,最近也在这纠结
2010-06-14 22:22
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:0 
回复 6楼 rwyangguang
VC6对友函数的支持问题,在类前面先声明下输入输出这两个友函数就可以了。

迭代的是人,递归的是神。
2010-06-15 08:48
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:0 
回复 5楼 xin310923
这是c++的标准输出流。

南国利剑
2010-06-15 15:56
快速回复:C++编程出现点问题 求解答!!
数据加载中...
 
   



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

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