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

发布于 2024-11-03 11:13:37 字数 105 浏览 0 评论 0原文

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

我什至不知道从哪里开始。

提前致谢。

I need to write in C++ a complete boolean function that will take an integer array and it's maximum size as a parameter and return whether or not that array has any elements with a value of 0.

I'm not even sure where to start.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

两相知 2024-11-10 11:13:37
bool checkFunction(int *myArray, int size)
{
    for (int i=0; i < size; ++i)
    {
        if (myArray[i] == 0)
            return true;
    }

    return false;
}

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

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

    return false;
}

Are you talking about something like this? This will iterate through the array and return true if there is a value of 0 anywhere.

A君 2024-11-10 11:13:37

使用 std::find

#include <algorithm>

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

Use std::find

#include <algorithm>

bool ContainsZero(int *arr, int size)
{
   return std::find(arr, arr+size, 0) != (arr+size);
}
呆橘 2024-11-10 11:13:37

阅读有关 C++ 数组 的教程怎么样?

How about reading a tutorial on arrays in C++?

西瑶 2024-11-10 11:13:37
bool TestForZero(int* myArray, int maxSize)
{
    for(int ii=0; ii<maxSize; ++ii)
      if(myArray[ii] == 0)
        return true;

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

  return false;
}
泅人 2024-11-10 11:13:37

这听起来很像一个家庭作业问题,所以我只会向您提供概念并让您学习。

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

This sounds an awful lot like a homework problem, so I'll just give you the concepts and let you learn.

You need to use a "for" loop, check the value of each item in the array, and return true if you find one, otherwise return false after the loop exits.

轻许诺言 2024-11-10 11:13:37
bool hasZeroes(int * array, int len) {
  int zeroCount = 0;
  for (int i = 0; i < len; i++) {
    if (array[i] == 0) zeroCount++;
  }
  return zeroCount > 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;
}
恬淡成诗 2024-11-10 11:13:37
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);
bool foo(int* array, int size)
{
    int i;
    for (i = 0; i < size; i++)
    {
        if (array[i] == 0)
        {
            return true;
        }
    }

    return false;
}

and to call it you would do something like:

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

foo(arr, 6);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文