gpt4 book ai didi

c++ - 如何使用常量数组从代码中的函数返回 true 或 false?

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

如果数组中偶数的总和大于同一数组中奇数的总和,我想返回 true 或 false。无论我是否更改数组的元素,我的程序都会返回 true,以便它可以返回 false。这看起来很简单,但我似乎无法弄清楚。感谢您的帮助!

我的代码:

    #include <iostream>
#include <string>
#include <cstdlib>
using namespace std;

bool die(const string & msg);
bool morePos(const unsigned ar[], unsigned els);


int main(){
unsigned a[5] = { 7, 7, 7, 2, 4 };
cout << morePos(a, 5) << endl;

}

bool die(const string & msg){
cout << "fatal error: " << msg << endl;
exit(EXIT_FAILURE);
}

bool morePos(const unsigned ar[], unsigned els){
unsigned a[5] = { 7, 7, 7, 2, 4 };
unsigned sumOdd = 0;
unsigned sumEven = 0;
if (a[5] % 2 == 0){
sumEven += a[5];
}
if (a[5] % 2 != 0){
sumOdd += a[5];
}

if (sumEven > sumOdd){
return true;
}
else{
return false;
}
}

最佳答案

你需要:

  1. 迭代元素数组。
  2. 对于数组的每个元素,检查元素是奇数还是偶数。
  3. 如果是奇数,累加sumOdd。否则,将其累加到 sumEven 中。
bool morePos(const unsigned ar[], unsigned els){

unsigned sumOdd = 0;
unsigned sumEven = 0;
for ( unsigned i = 0; i < els; ++i )
{
if (a[i] % 2 == 0){
sumEven += a[i];
}
else {
sumOdd += a[i];
}
}

return (sumEven > sumOdd);
}

关于c++ - 如何使用常量数组从代码中的函数返回 true 或 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31845284/

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