给定一个数组,任务是使用C++中的STL查找奇数和偶数元素
例子:
Input: a[] = {1, 2, 3, 4, 5, 10}
Output: Odd = 3, Even = 3
Input:a[] = {4, 3, 5, 9, 11}
Output: Odd = 4, Even = 1
方法:可以使用C++中的count_if()方法来实现
句法:
count_if(lower_bound, upper_bound, function)
其中, 函数以给定序列的元素一个一作为参数,并根据该函数指定的条件返回布尔值。
在这种情况下,该函数将是:
bool isOdd(int i)
{
if (i % 2 != 0)
return true;
else
return false;
}
下面是上述方法的实现:
// C++ simple program to
// find elements which are
// odd and even
#include
using namespace std;
// Function to check
// if the element is off or even
bool isOdd(int i)
{
if (i % 2 != 0)
return true;
else
return false;
}
// Driver code
int main()
{
int a[] = { 1, 2, 6, 3, 4, 5 };
int n = sizeof(a) / sizeof(a[0]);
int count = count_if(a, a + n, isOdd);
cout << "Odd: " << count << endl;
cout << "Even: " << (n - count) << endl;
return 0;
}
输出:
Odd: 3
Even: 3
想要从精选的最佳视频中学习和练习问题,请查看有关从基础到高级C++的C++基础课程以及有关语言和STL的C++ STL课程。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。