Array Exercises
Write a C program to delete element from array at specified position. How to remove element from array at given position in C programming. Logic to remove element from any given position in array in C program. The program should also print an error message if the delete position is invalid.
Required knowledge
Basic C programming, If else, c-Arrays, C Loops
Logic to remove element from array
Array is a linear data structure. It provides index based fast mechanism to access its elements. But insertion or deletion from an array is a costly operation.
Literally speaking there isn't anything such as deleting element from array. In general you copy elements of the array towards left. Suppose I say you need to delete the 2nd element from given array. You will do it as.

Step by step descriptive logic to remove element from array.
- Move to the specified location which you want to remove in given array.
- Copy the next element to the current element of array. Which is you need to perform array[i] = array[i + 1].
- Repeat above steps till last element of array.
- Finally decrement the size of array by one.
Program to delete element from array
/* * C program to delete an element from array at specified position */ #include <stdio.h> #define MAX_SIZE 100 int main() { int arr[MAX_SIZE]; int i, size, pos; /* Input size and element in array */ printf("Enter size of the array : "); scanf("%d", &size); printf("Enter elements in array : "); for(i=0; i<size; i++) { scanf("%d", &arr[i]); } /* Input element position to delete */ printf("Enter the element position to delete : "); scanf("%d", &pos); /* Invalid delete position */ if(pos < 0 || pos > size) { printf("Invalid position! Please enter position between 1 to %d", size); } else { /* Copy next element value to current element */ for(i=pos-1; i<size-1; i++) { arr[i] = arr[i + 1]; } /* Decrement array size by 1 */ size--; } /* Print array after deletion */ printf("\nElements of array after delete are : "); for(i=0; i<size; i++) { printf("%d\t", arr[i]); } return 0; }