w3resource

C Exercises: Create new array from a given array of integers shifting all even numbers before all odd numbers

C-programming basic algorithm: Exercise-73 with Solution

Write a C program to create an array from a given array of integers shifting all even numbers before all odd numbers.

C Code:

#include <stdio.h>
#include <stdlib.h>

// Function prototype for 'print_array'
void print_array(int parray[], int size);

int main(void){ 
    int arr_size;

    // Declaration and initialization of an integer array 'a1'
    int a1[] = {1, 2, 5, 3, 5, 4, 6, 9, 11};
    arr_size = sizeof(a1)/sizeof(a1[0]);

    // Printing the elements of the original array 'a1'
    printf("Elements in original array are: ");  
    print_array(a1, arr_size);

    // Declaration of 'size' and 'index' variables
    int size = arr_size, index = 0;

    // Loop to iterate through the elements of 'a1'
    for (int i = 0; i < size; i++)
    {
        // If the current element is even, swap it with the element at 'index'
        if (a1[i] % 2 == 0)
        {
            int temp = a1[index];
            a1[index] = a1[i];
            a1[i] = temp;

            index++;
        }
    }    

    // Printing the elements of the modified array 'a1'
    printf("\nElements in new array are: ");  
    print_array(a1, arr_size);
}         

// Definition of the 'print_array' function
void print_array(int parray[], int size)
{
    int i;      
    // Loop to print the elements of the array
    for( i = 0; i < size - 1; i++)  
    {  
        printf("%d, ", parray[i]);  
    } 
    // Printing the last element
    printf("%d ", parray[i]);  
    printf("\n");   
}

Sample Output:

Elements in original array are: 1, 2, 5, 3, 5, 4, 6, 9, 11 

Elements in new array are: 2, 4, 6, 3, 5, 1, 5, 9, 11

Pictorial Presentation:

C Programming Algorithm: Create new array from a given array of integers shifting all even numbers before all odd numbers

Flowchart:

C Programming Algorithm Flowchart: Create new array from a given array of integers shifting all even numbers before all odd numbers

C Programming Code Editor:

Previous: Write a C program to create a new array after replacing all the values 5 with 0 shifting all zeros to right direction.
Next: Write a C program to check if the value of each element is equal or greater than the value of previous element of a given array of integers.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/c-programming-exercises/basic-algo/c-programming-basic-algorithm-exercises-73.php