gpt4 book ai didi

c++ - 在 C++ 中找到最小数 +ve 数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:54:27 26 4
gpt4 key购买 nike

我想在 C++ 中使用 STL 找到最小数,我知道语法应该是 min(x,y)。但我想在列表中找到最小的 +ve 数字。不包括 -ves。我该怎么做?

P.S 我的数字在一个数组中

最佳答案

为了找到最小数量,使用 std::min_element 是有意义的.幸运的是,它带有一个可选的比较参数,我们可以使用它:( sample here )

auto pos = std::min_element(std::begin(arr), std::end(arr),
[](const T &t1, const T &t2) {return t1 > 0 && (t2 <= 0 || t1 < t2);}
);

你只需要小心考虑,如果它比较正 t1为负数,它应该始终为真。如果没有一个元素是正数,这将给出数组中第一个数字的位置。如果 0 应被视为正数的一部分,请更改 t1 > 0t1 >= 0t2 <= 0t2 < 0 .

关于c++ - 在 C++ 中找到最小数 +ve 数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19209460/

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