正确添加向量

时间:2013-09-30 00:00:09

标签: c++ vector

我正在创建一个将素数放入向量的程序。我将举一个例子来更好地演示该程序应该如何工作:

用户:3

输出3

用户:13

输出:3 5 7 11 13

用文字表示,该程序将小数或小于用户输入的素数相加。如果用户的实际输入是素数,那么最后给出一个真或假的bool。

            if (found)
            {
                vector_output.push_back(j);

            }
            if (number == j)
            {
                if (found ==false)
                    return false;
                else




void checkprime::vector_finder()    
{
    for (int k=0; k < vector_output.size(); k ++)
    {    
        cout << vector_output[k];
    }    
}

不幸的是,我的输出是:

用户3

输出3

用户13

输出:3 5 5 5 7 7 7 7 7 9 11 13

如何将它传到矢量不重复数字的位置?

我在vector_output.pushback(j)之前想到了类似if语句的内容,例如

if (vector_output.size() != 0 && vector.output.back() != j)
      vector_output.push_back(j);

会起作用,但它不会输出任何东西。

1 个答案:

答案 0 :(得分:1)

您可以使用std::unique删除重复项。例如:

std::vector<int> v{1, 2, 2, 3, 5, 9, 1};
std::sort(v.begin(), v.end());

v.erase(std::unique(v.begin(), v.end()), v.end());