Find elements of an Array which are Odd and Even using STL in C++
Last Updated :
02 May, 2022
Given an array, the task is to find elements which are odd and even, using STL in C++ Examples:
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
Approach: This can be achieved using count_if() method in C++ Syntax:
count_if(lower_bound, upper_bound, function)
where, function takes the element of given sequence one by one as a parameter and returns a boolean value on the basis of condition specified in that function. In this case, the function will be:
bool isOdd(int i)
{
if (i % 2 != 0)
return true;
else
return false;
}
Below is the implementation of the above approach:
CPP
#include <bits/stdc++.h>
using namespace std;
bool isOdd( int i)
{
if (i % 2 != 0)
return true ;
else
return false ;
}
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;
}
|
Share your thoughts in the comments
Please Login to comment...