大家新年快乐!可以帮我修改一下小题目吗?
对一个整数进行集合,实现整数的简单操作
用 vector写
class IntSet
{
private:
vector <int> Ints;
int element[100];
int n,seeknumber;
public:
IntSet()
{
cout < < "输入如下个整数: ";
cin> > n;
for (long i = 0; i < n; i++)
{
cin> > element[i];
Ints.push_back(element[i]);
};
cout < <endl < <Ints[0];
};
Empty(){Ints.clear();};
Isempty(){if (Ints.empty()) cout < < "集合为空! " < <endl;};
bool Ismemberof()
{
cout < < "判断此数是否在集合内部,请输入此数: ";
cin> > seeknumber;
for (long j=0;j <n;j++)
if (Ints[j] == seeknumber) return true ;
};
Add(){};
Sub(){};
Isequal(){};
Intersection(){};
Merge(){};
Print(){};
};
有什么不对的,请大家帮我修改一下行吗?我在这里谢谢大家了!
[解决办法]
for (long i = 0; i < n; i++)
{
cin> > element[i];
Ints.push_back(element[i]);
};
---------------------------------------------------
其实数组element是多余的。
bool Ismemberof()
{
cout < < "判断此数是否在集合内部,请输入此数: ";
cin> > seeknumber;
for (long j=0;j <n;j++)
if (Ints[j] == seeknumber) return true ;
};
----------------------------------
这个查找可以使用find()来实现,
或者要使用vector <int> ::iterator来定位seeknumber的值!
类的后面的“;”是需要的,但函数后面的“;”就不需要了,加了也没有错,但他不属于函数的一部分,而是被编译器看成一空行。
如果你没有忘记相应的头文件的话应该没有问题。
[解决办法]
虽然用法不是太好,但编译应该可以通过,像UPCC(杂食动物) ( ) 信誉:118 Blog 所说element在这里没用,输入可以改成:
for (long i = 0; i < n; i++)
{
long temp;
cin> > temp;
Ints.push_back(temp);
};
要用find(),需要包含头文件 <algorithm> ,如下:
#include <algorithm>
用法:
vector <int> ::iter = find(Ints.begin(),Ints.end(),seeknumber);
if(iter != Ints.end())
return true;
else
return false;
另外:
cout < <endl < <Ints[0];
没有问题
[解决办法]
class IntSet
{
private:
vector <int> Ints;
int n,seeknumber,element;
public:
IntSet()
{
cout < < "输入如下个整数: ";
cin> > n;
for (long i = 0; i < n; i++)
{
cin> > element;
Ints.push_back(element);
};
//cout < <endl < <Ints[0];
}
void Empty(){Ints.clear();}
bool Isempty()
{
if (Ints.empty()) {cout < < "集合为空! " < <endl; return true;}
else return false;
}
bool Ismemberof()
{
cout < < "判断此数是否在集合内部,请输入此数: ";
cin> > seeknumber;
for (long j=0;j <n;j++)
if (Ints[j] == seeknumber) return true ;
return false;
};
bool Isequal(){};
IntSet &Add(){};
IntSet &Sub(){};
IntSet &Intersection(){};
IntSet &Merge(){};
void Print(){};
};
//test
int main()
{
IntSet set1;
set1.Isempty();
//.... 其他
system( "pause ");
return 0;
}
[解决办法]
bool Isequal(){};
IntSet &Add(){};
IntSet &Sub(){};
IntSet &Intersection(){};
IntSet &Merge(){};
void Print(){};
这些需要继续实现 ~~