﻿ C : Array, even index elements smaller and odd ones bigger

# C Exercises: Rearrange an array such that even index elements are smaller and odd index elements are greater than their next

## C Array: Exercise-104 with Solution

Write a program in C to rearrange an array such that even index elements are smaller and odd index elements are greater than their next.

Sample Solution:

C Code:

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

// Function to rearrange the array elements based on specific conditions
void rearrange(int* arr1, int n)
{
int temp;

// Loop through the array up to the second last element
for (int i = 0; i < n - 1; i++)
{
// If 'i' is even and the current element is greater than the next element, swap them
if (i % 2 == 0 && arr1[i] > arr1[i + 1])
{
temp = arr1[i];
arr1[i] = arr1[i + 1];
arr1[i + 1] = temp;
}
// If 'i' is odd and the current element is less than the next element, swap them
if (i % 2 != 0 && arr1[i] < arr1[i + 1])
{
temp = arr1[i];
arr1[i] = arr1[i + 1];
arr1[i + 1] = temp;
}
}
}

// Function to display the array elements
void dispArray(int arr1[], int size)
{
for (int i = 0; i < size; i++)
printf("%d  ", arr1[i]);
printf("\n");
}

// Main function
int main()
{
int arr1[] = { 6, 4, 2, 1, 8, 3 }; // Given array
int n = sizeof(arr1) / sizeof(arr1); // Calculate array size
printf("The array given is: \n");
dispArray(arr1, n); // Display the given array
rearrange(arr1, n); // Rearrange the array based on specific conditions
printf("The new array after rearranging: \n");
dispArray(arr1, n); // Display the rearranged array
return 0;
}
```
```

Sample Output:

```The array given is:
6  4  2  1  8  3
The new array after rearranging:
4  6  1  8  2  3
```

Visual Presentation: Flowchart: C Programming Code Editor:

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿