작성
·
230
0
isodd는 정상대로 홀수만 나오는데, iseven은 다 출력되네여;
#include <iostream>
#include <array>
using namespace std;
bool isEven(const int& number)
{
if (number % 2 == 0)
{
return true;
}
}
bool isOdd(const int& number)
{
if (number % 2 != 0)
{
return true;
}
}
void printNumbers(const array<int, 10>& my_array, bool (*check_fcn)(const int&))
{
for (auto n : my_array)
{
if (check_fcn(n) == true)
{
cout << n;
}
}
cout << endl;
}
int main()
{
array<int, 10> my_array = { 0,1,2,3,4,5,6,7,8,9};
printNumbers(my_array, isOdd);
printNumbers(my_array, isEven);
return 0;
}
다른 분도 그러는거 같은데 컴퓨터 마다 다른건가요??
답변 3
1
0
안녕하세요 :)
아래와 같이 작성해주시기 바랍니다.
함수에서 리턴해주는 값이 일정하지 않아 생긴 문제 같습니다.
bool isEven(const int& number)
{
if (number % 2 == 0)
{
return true;
}
return false;
}
bool isOdd(const int& number)
{
if (number % 2 != 0)
{
return true;
}
return false;
}
감사합니다.
0