向量计数函数C ++

Mdj*_*n26 2 c++ stl vector

我有一个向量

vector<int> vec;
Run Code Online (Sandbox Code Playgroud)

它存储着随机数{5,7,8,9,13,13,15,17}

我有一个向量,如果前一个向量的数字是素数,则将其计算为1或0

vector< int> vec_prime_number;
Run Code Online (Sandbox Code Playgroud)

因此对于前一个它将是{1、1、0、0、1、0、1}

我正在尝试使用count函数在其中仅保存质数。我在执行此操作时遇到了一些问题。

理想情况下,我希望使vec拥有{5,7,13,13,17} //换句话说

我尝试过类似的东西

int cnt = count(vec.begin(), vec.end(), vec_prime_number())
Run Code Online (Sandbox Code Playgroud)

但我什么也不能用。关于如何获取计数以仅存储质数的任何想法?

Sho*_*hoe 5

的文档std::count说:

返回[first,last)范围内等于val的元素数。

因此,您应该使用以下内容来获取质数:

int cnt = count(vec_prime_number.begin(), vec_prime_number.end(), 1);
Run Code Online (Sandbox Code Playgroud)

您所见