C Exercises: Rearrange an array such that arr[i]=i
C Array: Exercise-101 with Solution
Write a program in C to rearrange an array such that arr[i]=i.
N.B.: Given array contains N elements, from 0 to N – 1. All elements within the range may not be present in the array. There will be -1 if an element within the range is not present in the array.
Sample Solution:
C Code:
#include<stdio.h>
// Function to rearrange the array
int arrayRearrange(int arr1[], int l)
{
for (int i = 0; i < l; i++)
{
if (arr1[i] != -1 && arr1[i] != i)
{
int x = arr1[i];
// Swap elements until an element is -1 or the same as its index
while (arr1[x] != -1 && arr1[x] != x)
{
int y = arr1[x];
arr1[x] = x;
x = y;
}
arr1[x] = x;
if (arr1[i] != i)
{
arr1[i] = -1; // Set the element to -1 if it doesn't match its index
}
}
}
}
int main()
{
int arr1[] = { 2, 5, -1, 6, -1, 8, 7, -1, 9, 1 };
int n = sizeof(arr1) / sizeof(arr1[0]);
int i = 0;
// Print the original array
printf("The given array is: \n");
for(i = 0; i < n; i++)
{
printf("%d ", arr1[i]);
}
printf("\n");
// Rearrange the array and print the new array
printf("The new array is: ");
arrayRearrange(arr1, n);
for (int i = 0; i < n; i++)
printf("%d ",arr1[i]);
}
Sample Output:
The given array is: 2 5 -1 6 -1 8 7 -1 9 1 The new array is: -1 1 2 -1 -1 5 6 7 8 9
Visual Presentation:
Flowchart:
![Flowchart: Rearrange an array such that arr[i]=i](https://www.w3resource.com/w3r_images/c-array-exercise-flowchart-101.png)
C Programming Code Editor:
Previous: Write a program in C to return the number of clumps(a series of 2 or more adjacent elements of the same value) in a given array.
Next: Write a program in C to rearrange an array in such an order that– smallest, largest, 2nd smallest, 2nd largest and on.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends
- Python Interview Questions and Answers: Comprehensive Guide
- Scala Exercises, Practice, Solution
- Kotlin Exercises practice with solution
- MongoDB Exercises, Practice, Solution
- SQL Exercises, Practice, Solution - JOINS
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join