gpt4 book ai didi

c++ - 根据最小和查找数组的元素

转载 作者:太空狗 更新时间:2023-10-29 23:21:49 26 4
gpt4 key购买 nike

我用 C++ 编写了一个循环,为我提供 6 个随机数并将它们存储在一个数组中。 我想做的是对数组的元素求和,直到我得到一个大于数字“x”的值,但我想这样做而不必添加所有元素。目标是找到总和为 x 值的第一个元素。

例如,数组是 [1,2,3,4,5,6],并且 x = 6,所以我要查找的是元素 [1,2,3]

我查看了标准库并尝试使用“valarray”中的求和函数,但这只是给出所有元素的总和。任何关于如何成功编码的想法都将不胜感激。

最佳答案

写一个做加法的仿函数。

#include <algorithm>
struct SumToo
{
SumToo(int val):m_val(val),m_sum(0) {}
int m_val;
int m_sum;

bool operator()(int next)
{
m_sum += next;
return m_sum >= m_val;
}
};

int main()
{
int data[] = {1,2,3,4,5,6};

int* find = std::find_if(data,data+6,SumToo(6));
}

关于c++ - 根据最小和查找数组的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/853007/

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