﻿ C Program: Segregate even and odd elements on an array - w3resource

# C Exercises: Segregate even and odd elements on an array

## C Array: Exercise-96 with Solution

Write a program in C to segregate even and odd elements in an array.

Sample Solution:

C Code:

``````#include<stdio.h>

void changePlace (int *ar, int *br);
void EvenOddSegre(int arr1[], int size)
{
int l_index = 0, r_index = size-1;
while (l_index < r_index)
{
while (arr1[l_index]%2 == 0 && l_index < r_index)
l_index++;
while (arr1[r_index]%2 == 1 && l_index < r_index)
r_index--;
if (l_index < r_index)
{
changePlace(&arr1[l_index], &arr1[r_index]);
l_index++;
r_index--;
}
}
}

void changePlace(int *ar, int *br)
{
int temp = *ar;
*ar = *br;
*br = temp;
}

int main()
{
int arr1[] = {17, 42, 19, 7, 27, 24, 30, 54, 73};
int arr_size = sizeof(arr1)/sizeof(arr1[0]);
int i = 0;
//------------- print original array ------------------
printf("The given array is:  \n");
for(i = 0; i < arr_size; i++)
{
printf("%d  ", arr1[i]);
}
printf("\n");
//-----------------------------------------------------------
EvenOddSegre(arr1, arr_size);
printf("The array after segregation is:  ");
for (i = 0; i < arr_size; i++)
printf("%d ", arr1[i]);
return 0;
}
```
```

Sample Output:

```The given array is:
17  42  19  7  27  24  30  54  73
The array after segregation is:  54 42 30 24 27 7 19 17 73
```

Pictorial Presentation:

Flowchart:

C Programming Code Editor:

Improve this sample solution and post your code through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿

## C Programming: Tips of the Day

C Programming - What is the argument for printf that formats a long?

Put an l (lowercased letter L) directly before the specifier.

```unsigned long n;
long m;

printf("%lu %ld", n, m);
```

Ref : https://bit.ly/3dIwfkP