C++ Program to Find and Print Even Numbers in an Array

This article is created to cover some programs in C++ that find and prints even numbers in an array. The array must be entered by user at run-time. List of programs covered in this article are:

  • Print even numbers in an array of 10 elements
  • Print even numbers in an array of n elements
  • Print even numbers in an array of n elements using another array

Print Even Numbers in an Array of 10 Elements

The question is, write a C++ program that prints even numbers from given array by user. The answer to this question is the program given below:

#include<iostream>

using namespace std;
int main()
{
   int arr[10], i;
   cout<<"Enter any 10 numbers: ";
   for(i=0; i<10; i++)
      cin>>arr[i];
   cout<<"\nEven Numbers are:\n";
   for(i=0; i<10; i++)
   {
      if(arr[i]%2==0)
         cout<<arr[i]<<" ";
   }
   cout<<endl;
   return 0;
}

The initial output produced by above C++ program on printing all even numbers available in a given array, is shown in the snapshot given below:

c++ program print even numbers in an array

Now supply any 10 numbers say 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 and press ENTER key to find and print all the even numbers from these 10 numbers like shown in the snapshot given below:

print even numbers in array c++

The dry run of above program with exactly same user input as provided above, goes like:

  • When user enters 10 elements/numbers, then index-wise storage of these numbers will be arr[0]=11, arr[1]=12, arr[2]=13, ..., arr[9]=20
  • Now the execution of second for loop begins
  • That is, i=0 and the condition i<10 or 0<10 evaluates to be True
  • Therefore program flow goes inside the loop, and the condition of if gets evaluated
  • That is, the condition arr[i]%2==0 or arr[0]%2==0 or 11%2==0 or 1==0 evaluates to be False, therefore program flow does not goes in the body of if
  • Now the value of i gets incremented using i++ (third statement of the loop). So i=1 now
  • The condition of for loop again gets evaluated with new value of i
  • This time also, the condition i<10 or 1<10 evaluates to be True
  • Therefore again program flow goes inside the loop
  • And the condition arr[i]%2==0 or arr[1]%2==0 or 12%2==0 or 0==0 evaluates to be True
  • Therefore this time, program flow goes inside the if's body
  • And the value of arr[i] or arr[1], that is 12 gets printed on output
  • Again, second time, the value of i gets incremented. Now i=2
  • And the condition i<10 or 2<10 again evaluates to be True
  • Therefore program again goes inside the loop.
  • This process continues until the condition evaluates to be False
  • In this way, one by one, all even numbers gets printed

Print Even Numbers in an Array of n Numbers

Now let's modify the above program and create a new one that allows user to define the size of array. Also this program prints a message regarding, if no even numbers found.

#include<iostream>

using namespace std;
int main()
{
   int n, i, temp=0;
   cout<<"Enter the size of array: ";
   cin>>n;
   int arr[n];
   cout<<"Enter any "<<n<<" numbers: ";
   for(i=0; i<n; i++)
      cin>>arr[i];
   for(i=0; i<n; i++)
   {
      if(arr[i]%2==0)
      {
         if(temp==0)
            cout<<"\nEven Numbers are:\n";
         cout<<arr[i]<<" ";
         temp=1;
      }
   }
   if(temp==0)
      cout<<"\nEven number not found!";
   cout<<endl;
   return 0;
}

Below snapshot shows the sample run of above program with user input 4 as size and 1, 3, 5, 7 as four numbers:

find even numbers in array c++ program

Here is another sample run with user input 6 as size and 11, 22, 33, 44, 55, 66 as six numbers for the array:

c++ find even numbers in array

Print Even Numbers using Second (Another) Array

This program uses another array that stores all the even numbers from given array by user. After storing all even numbers from given array one by one, to second (another) array. Just print the elements of second array like shown in the program given below:

#include<iostream>

using namespace std;
int main()
{
   int n, i, j=0;
   cout<<"Enter the size of array: ";
   cin>>n;
   int arr[n], eve[n];
   cout<<"Enter any "<<n<<" numbers: ";
   for(i=0; i<n; i++)
   {
      cin>>arr[i];
      if(arr[i]%2==0)
      {
         eve[j] = arr[i];
         j++;
      }
   }
   if(j==0)
      cout<<"\nEven number not found!";
   else if(j==1)
      cout<<"\nThere is only 1 even number found. That is:\n"<<eve[0];
   else
   {
      cout<<"\nList of Even Numbers:\n";
      for(i=0; i<j; i++)
         cout<<eve[i]<<" ";
   }
   cout<<endl;
   return 0;
}

Here is its sample run with user input 3 as size and 11, 22, 33 as three numbers:

print even numbers from array c++

C++ Online Test


« Previous Program Next Program »