VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2253|回复: 11

大家新年快乐!可以帮我修改一下小题目吗?

[复制链接]

3

主题

11

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-1-24 06:40:01 | 显示全部楼层 |阅读模式
对一个整数进行集合,实现整数的简单操作
用 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(){};
};
有什么不对的,请大家帮我修改一下行吗?我在这里谢谢大家了!
回复

使用道具 举报

0

主题

9

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-2-9 21:15:02 | 显示全部楼层
                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的值!


类的后面的“;”是需要的,但函数后面的“;”就不需要了,加了也没有错,但他不属于函数的一部分,而是被编译器看成一空行。

如果你没有忘记相应的头文件的话应该没有问题。
回复

使用道具 举报

0

主题

9

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-2-10 12:00:01 | 显示全部楼层
cout<<endl<<Ints[0];
--------------------------------
是否应该改成
cout<<endl<<*Ints.Begin();

??
回复

使用道具 举报

0

主题

49

帖子

34.00

积分

新手上路

Rank: 1

积分
34.00
发表于 2020-3-3 16:00:01 | 显示全部楼层
虽然用法不是太好,但编译应该可以通过,像eyesloveyou 所说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];
没有问题
回复

使用道具 举报

0

主题

49

帖子

34.00

积分

新手上路

Rank: 1

积分
34.00
发表于 2020-3-3 19:45:01 | 显示全部楼层
对于temp是局部变量,因为vector等容器都用的是传value,所以不会有问题
回复

使用道具 举报

3

主题

11

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
 楼主| 发表于 2020-3-9 14:00:01 | 显示全部楼层
谢谢你们啊!
太感激了
回复

使用道具 举报

3

主题

11

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
 楼主| 发表于 2020-3-10 12:15:01 | 显示全部楼层
就这个题目,还应该加些什么呢??
我已经改过了,但是我感觉还应该加些什么,谁知道啊
回复

使用道具 举报

0

主题

78

帖子

29.00

积分

新手上路

Rank: 1

积分
29.00
发表于 2020-3-18 17:15:01 | 显示全部楼层
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;   
}
回复

使用道具 举报

0

主题

78

帖子

29.00

积分

新手上路

Rank: 1

积分
29.00
发表于 2020-3-23 08:00:02 | 显示全部楼层
                bool Isequal(){};
                IntSet &Add(){};
                IntSet &Sub(){};
                IntSet &Intersection(){};
                IntSet &Merge(){};
                void Print(){};

这些需要继续实现 ~~
回复

使用道具 举报

3

主题

11

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
 楼主| 发表于 2020-4-8 15:30:01 | 显示全部楼层
还要怎么实现呢?我不是很清楚啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表