How to separate even and odd numbers in an array by using for loop in C language?


An array is a group of related data items that are stored with single name.

For example, int student[30]; //student is an array name that holds 30 collection of data items with a single variable name

Operations of array

  • Searching − It is used to find whether particular element is present or not

  • Sorting − It helps in arranging the elements in an array either in ascending or descending order.

  • Traversing − It processes every element in an array sequentially.

  • Inserting − It helps in inserting the elements in an array.

  • Deleting − It helps in deleting an element in an array.

The logic to find even numbers in an array is as follows −

for(i = 0; i < size; i ++){
   if(a[i] % 2 == 0){
      even[Ecount] = a[i];
      Ecount++;
   }
}

The logic to find odd numbers in an array is as follows −

for(i = 0; i < size; i ++){
   if(a[i] % 2 != 0){
      odd[Ocount] = a[i];
      Ocount++;
   }
}

To display even numbers, call display function as mentioned below −

printf("no: of elements comes under even are = %d 
", Ecount); printf("The elements that are present in an even array is: "); void display(int a[], int size){    int i;    for(i = 0; i < size; i++){       printf("%d \t ", a[i]);    }    printf("
"); }

To display odd numbers, call display function as given below −

printf("no: of elements comes under odd are = %d 
", Ocount); printf("The elements that are present in an odd array is : "); void display(int a[], int size){    int i;    for(i = 0; i < size; i++){       printf("%d \t ", a[i]);    }    printf("
"); }

Program

Following is the C program to separate even and odd numbers in an array by using for loop −

 Live Demo

#include<stdio.h>
void display(int a[], int size);
int main(){
   int size, i, a[10], even[20], odd[20];
   int Ecount = 0, Ocount = 0;
   printf("enter size of array :
");    scanf("%d", &size);    printf("enter array elements:
");    for(i = 0; i < size; i++){       scanf("%d", &a[i]);    }    for(i = 0; i < size; i ++){       if(a[i] % 2 == 0){          even[Ecount] = a[i];          Ecount++;       }       else{          odd[Ocount] = a[i];          Ocount++;       }    }    printf("no: of elements comes under even are = %d
", Ecount);    printf("The elements that are present in an even array is: ");    display(even, Ecount);    printf("no: of elements comes under odd are = %d
", Ocount);    printf("The elements that are present in an odd array is : ");    display(odd, Ocount);    return 0; } void display(int a[], int size){    int i;    for(i = 0; i < size; i++){       printf("%d \t ", a[i]);    }    printf("
"); }

Output

When the above program is executed, it produces the following result −

enter size of array:
5
enter array elements:
23
45
67
12
34
no: of elements comes under even are = 2
The elements that are present in an even array is: 12 34
no: of elements comes under odd are = 3
The elements that are present in an odd array is : 23 45 67

Updated on: 24-Mar-2021

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements