C ++整数数组和布尔函数

时间:2011-04-26 18:42:47

标签: c++ arrays integer boolean

我需要在C ++中编写一个完整的布尔函数,该函数将采用整数数组并将其最大大小作为参数,并返回该数组是否包含任何值为0的元素。

我甚至不确定从哪里开始。

提前致谢。

7 个答案:

答案 0 :(得分:3)

bool checkFunction(int *myArray, int size)
{
    for (int i=0; i < size; ++i)
    {
        if (myArray[i] == 0)
            return true;
    }

    return false;
}

你在谈论这样的事吗?这将遍历数组,如果任何地方都有值0,则返回true。

答案 1 :(得分:3)

使用std::find

#include <algorithm>

bool ContainsZero(int *arr, int size)
{
   return std::find(arr, arr+size, 0) != (arr+size);
}

答案 2 :(得分:2)

如何阅读arrays in C++上的教程?

答案 3 :(得分:1)

bool TestForZero(int* myArray, int maxSize)
{
    for(int ii=0; ii<maxSize; ++ii)
      if(myArray[ii] == 0)
        return true;

  return false;
}

答案 4 :(得分:0)

这听起来很像家庭作业问题,所以我只是给你概念并让你学习。

你需要使用“for”循环,检查数组中每个项的值,如果找到,则返回true,否则在循环退出后返回false。

答案 5 :(得分:0)

bool hasZeroes(int * array, int len) {
  int zeroCount = 0;
  for (int i = 0; i < len; i++) {
    if (array[i] == 0) zeroCount++;
  }
  return zeroCount > 0;
}

答案 6 :(得分:0)

bool foo(int* array, int size)
{
    int i;
    for (i = 0; i < size; i++)
    {
        if (array[i] == 0)
        {
            return true;
        }
    }

    return false;
}

并且要调用它,你会做类似的事情:

int arr[] = { 1, 2, 3, 4, 0, 6};

foo(arr, 6);