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"); printf("First enter number of elements you want in Array\n"); scanf("%d", &size); int arr[size]; for(i = 0; i < size; i++) { printf("Please give value for index %d : ",i); scanf("%d",&arr[i]); } printf("Please enter the index to delete a element\n"); scanf("%d", &loc); if(loc<=size-1){ for (i = loc; i <size-1; i++){ arr[i] = arr[i+1]; } size--; }else{ printf("index not available"); exit(0); } printf("After deletion Array is \n"); for (i = 0; i < size; i++) printf("%d\n", arr[i]); }
Output
[wpusb]