In this tutorial, we are going to learn to write C Program to delete element from an array at the given index. To delete the element from the given index, we will iterate the array and to the given index. Now we will just shift each element towards the left one by one and decrease the size of an array. By following this we can delete the element from the array from the given location.
Our problem statement
Suppose we have an array that has elements a={1,2,3,4,5}. We want to perform a delete operation to delete element at index 3. As we all know the array index starts from 0. So in our case at index 3 we have an element with value 4. So after deleting the element from index 3 our new array will become a={1,2,3,5}.
Our approach to delete from given array index
- First we will take the array values from the users
- To delete the array from index, we will ask user choice. From which index they wants to delete element.
- Here using for loop, we will go to the index given by the user.
- Now we will shift the all elements from right to left by one place.
- At last we will delete the extra last index.
- By doing this elements will be easily deleted from the array index.
Program in C to delete element from the given array index
#include <stdio.h>
#include <stdlib.h>
void main() {
int loc, i, size, value, ch;
printf("=== C Program to Delete Element from Given Location ===\n");
// Taking input for the array size
printf("Enter the number of elements you want in the Array: ");
scanf("%d", &size);
int arr[size];
// Taking input for the array elements
for(i = 0; i < size; i++) {
printf("Enter value for index %d: ", i);
scanf("%d", &arr[i]);
}
// Taking input for the location of the element to delete
printf("Enter the index to delete an element: ");
scanf("%d", &loc);
// Deleting the element at the given location
if(loc <= size - 1) {
for(i = loc; i < size - 1; i++) {
arr[i] = arr[i + 1];
}
size--;
} else {
printf("Index not available\n");
exit(0);
}
// Displaying the array after deletion
printf("After deletion, the array is:\n");
for(i = 0; i < size; i++) {
printf("%d\n", arr[i]);
}
}
Output
=== C Program to Delete Element from Given Location ===
Enter the number of elements you want in the Array: 6
Enter value for index 0: 4
Enter value for index 1: 3
Enter value for index 2: 2
Enter value for index 3: 1
Enter value for index 4: 4
Enter value for index 5: 6
Enter the index to delete an element: 4
After deletion, the array is:
4
3
2
1
6
What did you think?