查找C ++数组中是否存在元素

时间:2017-08-14 17:39:53

标签: c++ arrays

Push()

我试图找出数组中是否存在元素,如果它不存在我想重新键入元素并重复整个数组并检查它。 我从一开始就没有得到它(i = 0)。

3 个答案:

答案 0 :(得分:3)

标准库中有完美的功能 - std::any_of - 如果你想知道的话是否存在。

如果您还需要访问找到的元素,则可以std::findstd::find_if

如果您想知道某些内容存在多少次,标准库会为您提供std::countstd::count_if

答案 1 :(得分:2)

标题std::find中有一个名为<algorithm>的标准函数:

#include <iostream>
#include <algorithm>

int main() {
    int myarray[6]{10, 4, 14, 84, 1, 3};

    if (std::find(std::begin(myarray), std::end(myarray), 1) != std::end(myarray))
        std::cout << "It exists";
    else
        std::cout << "It does not exist";
    return 0;
}

Ideone

答案 2 :(得分:-2)

尝试创建一个名为cnt的新变量并使用它 -

for(i=0; i<n; i++)
    if(x[i]==k){
        ++cnt;

    }
if (cnt==0)
    cout << "k has not occured";
else
    cout<<"k has occured"<<cnt<<"times";