Skip to content
Related Articles
Get the best out of our app
GFG App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Find elements of an Array which are Odd and Even using STL in C++

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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




// C++ simple program to
// find elements which are
// odd and even
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to check
// if the element is odd 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;
}


Output:

Odd: 3
Even: 3
My Personal Notes arrow_drop_up
Last Updated : 02 May, 2022
Like Article
Save Article
Similar Reads