gpt4 book ai didi

c++ - 递归地在 double 数组中找到负数

转载 作者:行者123 更新时间:2023-11-30 02:48:58 25 4
gpt4 key购买 nike

我的家庭作业要求我遍历一个 double 组,并根据它是否包含负数返回 true 或 false。问题是我必须使用递归函数而且我不能使用循环。我也不能使用访问我指定函数之外的任何函数或变量。

该函数有两个参数:数组和要检查的元素数。

一旦它检查了指定数量的元素,我就无法让它停止递归。

//what I have so far
bool anyNegative(const double a[], int n)
{
if(n <= 0)
return false;

if(*a < 0)
return true;

anyNegative(a + 1, n);
}

首先,我想到了使用计数器,但这行不通,因为每次函数递归时它都会被重置。

我还尝试将指针索引与

if(currentElement == &a[n])

其中 currentElement 是指向数组 a 的第一个元素的指针。

但是,我认为我的程序在执行此操作时无法运行的原因是每次函数递归时“a”都会设置为新值,因此 &a[n] 将始终比 currentElement 前面的 n 个元素.

我被卡住了,如果有人能给我提示,那就太好了。

最佳答案

减少n,因为你传递的数组更小

anyNegative(a + 1, n - 1);

关于c++ - 递归地在 double 数组中找到负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21658258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com