c++ - 如何检查数组是否包含多个元素?

标签 c++ arrays counting

我试图查看一个数组是否在数组中的任何给定索引处包含多个值,如果包含,我希望它返回 true,否则返回 false。我希望它在找到数字 1-9 时返回 true,否则返回 false。

 bool isSolved(int a[], int size) {
    int count = 0;
    for (int i = 1; i < 10; i++) {
        if (hasNum(a,size,i)) {
            count++;
        }
    }
    if (count == 9) {
        return true;
    }
    else { 
        return false;
    }
}

bool hasNum(int a[], int size, int num) {

    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            if (a[j] == num) {
                return true;
            }
            else {
                return false;
            }
        }
    }
}

这是我目前所拥有的,它只是卡住了,永远不会结束。

最佳答案

伙计,那是 C++。所以使用标准 vector 和标准库中的 count_if 函数:

#include <algorithm>
#include <vector>

std::vector<int> a { /* fill vector */ };
std::count_if(std::begin(a), std::end(a), [](auto const& x){ return x == 1;});

返回值为 1 的元素的数量。

也很好,质疑1是否有任何值(value):

std::any_of(std::begin(a), std::end(a), [](auto const& x){ return x == 1;});

我知道这绝对不是答案......

关于c++ - 如何检查数组是否包含多个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57998061/

相关文章:

c++ - 如果我在 C++ 中删除了一次数组,但分配了多次怎么办?

javascript - 在javascript中计算具有特定日期的数组元素

python - 如何使用 Python 计算文本文档中的非字母数字?

c++ - 使用MSBuild和Visual Studio 2012+预处理C++文件

c# - 如何将 C++ 结构传递给 C# DLL?

javascript - 使用数组 : Jquery or Javascript 动态检查条件

javascript - Php 数组和 chartjs

string - 经过 k 次翻转的不同二进制串的数量

模板的C++类成员访问问题

c++ - 什么是 ?和 @ 符号在这个编译器错误中演示? - Visual Studio 2013 编译器