Write a Program to Delete an array element from an array using its index(Position).
#include<stdio.h> void Delete_From_Pos(int*,int,int); int main() { int IntArray[10],TotalArrayElements; int Index,pos; TotalArrayElements = sizeof(IntArray)/sizeof(IntArray[0]); printf("Enter %d Elements\n",TotalArrayElements); for(Index = 0;Index < TotalArrayElements;Index++) { scanf("%d",&IntArray[Index]); } printf("\nValues are"); for(Index = 0;Index < TotalArrayElements;Index++) { printf("\nIntArray[%d] = %d",Index,IntArray[Index]); } printf("\n"); printf("Enter Position to delete :"); scanf("%d",&pos); if(pos >= 0 && pos <= TotalArrayElements-1) { Delete_From_Pos(IntArray,pos,TotalArrayElements); TotalArrayElements -= 1; for(Index = 0;Index < TotalArrayElements;Index++) { printf("\nIntArray[%d] = %d",Index,IntArray[Index]); } printf("\n"); } else { printf("Invalid Position\n"); } return 0; } void Delete_From_Pos(int *p,int pos,int n) { int i; for(i = pos;i < n;i++) p[i] = p[i+1]; }
Output
Enter 10 Elements 10 20 20 30 40 50 60 70 80 90 Values are IntArray[0] = 10 IntArray[1] = 20 IntArray[2] = 20 IntArray[3] = 30 IntArray[4] = 40 IntArray[5] = 50 IntArray[6] = 60 IntArray[7] = 70 IntArray[8] = 80 IntArray[9] = 90 Enter Position to delete :1 IntArray[0] = 10 IntArray[1] = 20 IntArray[2] = 30 IntArray[3] = 40 IntArray[4] = 50 IntArray[5] = 60 IntArray[6] = 70 IntArray[7] = 80 IntArray[8] = 90