标题:[求助]一个C++程序-->feng1256转移
只看楼主
superjtc
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-4-1
 问题点数:0 回复次数:2 
[求助]一个C++程序-->feng1256转移
我是C++的初学者,这是我编的一个对集合进行各种操作的程序,编译的时候没有错误,但最后执行时就有问题了,我想可能是这几个函数的问题,可是我不知道怎么改,各位高手帮个忙吧,这几天就要交了
#include <iostream.h>
const int SETSIZE=50;
struct Set{
int m[SETSIZE+1];
int size;
};
enum Boolean{False,True};
void InitSet(Set &s)
{
s.size=0;
}
void Insert(Set &s,int n)
{
s.m[s.size]=n;
}
void InitSet(Set &s,int a[],int n)
{
int i;
for(i=0;i<n;i++)
s.m[i]=a[i];
}
void Delete(Set &s,int n)
{
for(int i=0;i<s.size;i++)
if(s.m[i]==n) s.m[i]=s.m[i+1];
}
Set operator +(Set s1,Set s2)
{
Set s;
int k;
for(int i=0;i<s1.size;i++)
s.m[i]=s1.m[i];
k=i;
for(int j=0;j<s2.size;j++)
for(i=0;i<s1.size;i++)
if(s.m[i]!=s2.m[j])
{s.m[i]=s2.m[j];i++;}
return s;
}
Set operator *(Set s1,Set s2)
{
Set s;
int k=0;
for(int i=0;i<s1.size;i++)
for(int j=0;j<s2.size;j++)
if(s1.m[i]==s2.m[j])
{s.m[k]=s1.m[i];k++;continue;}
return s;
}
Boolean operator ^(int elt,Set s)
{ int k;
for(int i=0;i<s.size;i++)
if(s.m[i]==elt)
k=1;
else
k=0;
if(k=1) return True;
else return False;
}
ostream& operator <<(ostream& ostr,Set &s)
{
ostr<<s.m<<endl;
return ostr;
}
void main()
{
Set x,y,z;
int a[5]={2,5,10,20,50};
InitSet(x);
Insert(x,8);
Insert(x,a[3]);
InitSet(y,a,5);
cout<<x<<y<<endl;
z=x+y;cout<<z;
z=x*y;cout<<z;
if(10^y)
cout<<"True"<<endl;
else
cout<<"False"<<endl;
Delete(y,20);
cout<<y;
}
搜索更多相关主题的帖子: include 
2006-04-01 19:50
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
得分:0 

void Insert(Set &s,int n)
{
s.m[s.size]=n;
}
不知道n要插入到哪里

void InitSet(Set &s,int a[],int n)
{
int i;
for(i=0;i<n;i++)
s.m[i]=a[i];
}
如果n大于SETSIZE,数组越界,而且size没赋值.

void Delete(Set &s,int n)
{
for(int i=0;i<s.size;i++)
if(s.m[i]==n) s.m[i]=s.m[i+1];
}
这样移动,达不到效果,仔细想一下

ostream& operator <<(ostream& ostr,Set &s)
{
ostr<<s.m<<endl; //int型不能这么输出
return ostr;
}

楼主应该用类来写这个程序.


2006-04-02 13:34
superjtc
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-4-1
得分:0 
谢谢了,我再试试了!
2006-04-04 18:48



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




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

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