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

C++Server Side ProgrammingProgramming

#### C in Depth: The Complete C Programming Guide for Beginners

45 Lectures 4.5 hours

#### Practical C++: Learn C++ Basics Step by Step

Most Popular

50 Lectures 4.5 hours

#### Master C and Embedded C Programming- Learn as you go

66 Lectures 5.5 hours

Given with an array and the task is to find the number of odd and even elements in an array using standard template library in C++.

To solve this problem we are using the function count_if() present in C++ standard template library. What is a count_if() function?

## Syntax

count_if(LowerBound, UpperBound, function)

Description − This function returns the number of elements in an array that satisfies the given condition. It takes three parameters.

• Lower Bound − It points to the first element of an array or any other sequence.
• Upper Bound − It points to the last element of an array or any other sequence.
• Function − It returns the Boolean value on the basis of the condition specified.

## Example

Input-: array[] = {2, 4, 1, 5, 8, 9}
Output-: Odd elements are: 1, 5 and 9. So, total number of odds is 3
Even elements are: 2, 4 and 8
Input-: array[] = {1, 2, 3, 4, 5, 10}
Output-: Odd elements are: 1, 3 and 5. So, total number of odds is 3
Even elements are: 2, 4 and 10. So, total number of evens is 3

Approach used in the below program is as follows

• Input the integer values in an array of integer type
• Create the bool function to check whether the element of an array is odd or not. If the selected elements are odd than the remaining elements will be even.
• Call the function count_if() which takes the first and the last element and the function as the parameter.

## Example

Live Demo

#include <bits/stdc++.h>
using namespace std;
// Function to check if the element is odd or even
bool check(int i) {
if (i % 2 != 0)
return true;
else
return false;
}
int main() {
int arr[] = { 2, 10, 1, 3, 7, 4, 9 };
int size = sizeof(arr) / sizeof(arr);
int temp = count_if(arr, arr + size, check);
cout << "Odds are : " <<temp << endl;
cout << "Evens are : " << (size - temp) << endl;
return 0;
}

## Output

If we run the above code it will generate the following output −

Odds are: 4
Evens are: 3