中易网

关于c++矩形相加程序问题,高手进

答案:3  悬赏:10  
解决时间 2021-02-28 16:23
#include
int l[2][4];
class Figure
{public:
Figure(int r,int b,int c,int d,int e,int f,int g,int h)
{a[0][0]=r;a[0][1]=b;a[0][2]=c;a[0][3]=d;a[1][0]=e;a[1][1]=f;a[1][2]=g;a[1][3]=h;};
friend int operator +(Figure &c1,Figure &c2);
private:
int a[1][3];
int m;
int n;
};
int operator +(Figure &c1,Figure &c2)
{
c1.m=0;
c1.n=0;
while(c1.n<=1)
{
while(c1.m<=3)
{
l[c1.n][c1.m]=c1.a[c1.n][c1.m]+c2.a[c1.n][c1.m];
cout< cout< cout< ++c1.m;

}
++c1.n;
c1.m=0;
}

return 0;
};
int main()
{
Figure s1(8,7,6,5,4,3,2,1);
Figure s2(8,7,6,5,4,3,2,1);
s1+s2;

return 0;
}

以上是我写的使两个矩形数组相加的程序,调试无问题,但是输出结果不对,在第4,5,6个数出现问题,相加结果不对,请哪位高手帮我看看哪里出错了,谢谢了
最佳答案
8 8 16
7 7 14
6 6 12
5 5 10
4 4 8
3 3 6
2 2 4
1 1 2
Press any key to continue . . .
这个是不是你想要的结果,这是按你的计算矩阵方法得出来的结果

你的程序其他都没问题,唯一的问题就是private中的 int a[1][3];应该是int a[2][4]; 所以你在执行程序中,内存越界了,才产生值的错误,而且错误正好是 4 5 6行。
你二维数组int l[2][4]定义是正确的 怎么下面会定义错呢 对吧
全部回答
子程序如下。 主程序根据具体情况,要求用户输入参数,然后调用。 // 已知dx,dy 是长,宽 double area1(double dx, double dy) { return dx * dy; } // 已知[x0,y0] [x1,y1] 平面上矩形对角点 double area2(double x0, double y0,double x1, double y1) { return (x1-x0) * (y1-y0); } // 空间矩形,已知4角点座标x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z3 #include double area3(double x0,double y0,......) { double dx,dy; dx = sqrt( (x1-x0)*(x1-x0) + (y1-y0)*(y1-y0) + (z1-z0) * (z1-z0) ); dy = sqrt( (x2-x0)*(x2-x0) + (y2-y0)*(y2-y0) + (z2-z0) * (z2-z0) ); return dx*dy; }
你的数据给的有形式错误
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
苏仙区广电局在什么地方啊,我要过去处理事情
理科生怎么复习考研政治
在普瓦杰的湘潭大学帅哥有哪些?
信用卡提现买东西然后分期还款 和 直接买东西
幼儿园比喻句大全集
merian - 左旋C活细胞精华原液在护肤水前用
库茨家具有限公司在哪里啊,我有事要去这个地
集邮故事(不是写我的故事,是写别人的故事)
盆永怎么去啊,有知道地址的么
打台球时的低杆怎么打?
荔枝的核怎样才能发芽
破江这个地址在什么地方,我要处理点事
手机WIFI怎么连接不上大神们帮帮忙
皮肤下面出现一个个小水泡,一个个洞一样的
强记粮油地址在什么地方,想过去办事
推荐资讯
新长铁路的主要车站以及里程
求中国红十字会的邮政编码及详细地址~~
法语里面的小数点该怎么读, 例如,2.77̈́
一首很流行很欢快的歌,小孩的声音在唱,有点
西安哪里有高中辅导书批发?
傲娇到底是什么意思
打过胎咪咪能挤出来水怎么回事
宁波市疾病预防控制中心在哪里啊,我有事要去
容桂振华居委会工作人员属于公务员吗
湛江市金富汽车销售有限公司在哪里啊,我有事
濮阳市起名策划有限公司在哪里啊,我有事要去
省狂的胶皮和狂飙的胶皮有什么区别?怎么辨认
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?