Write a Program to Insert an element into an array.
#include<stdio.h> void Insert_val_to_Pos(int*,int,int,int); int main() { int IntArray[10],TotalArrayElements; int Index,pos,val,n; printf("How many elements do you want to add (< 10) ? "); scanf("%d",&TotalArrayElements); 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 Insert :"); scanf("%d",&pos); if(!(pos >= 0 && pos <= TotalArrayElements)) { printf("Invalid position\n"); return 0; } printf("Enter Value to Insert :"); scanf("%d",&val); Insert_val_to_Pos(IntArray,pos,val,TotalArrayElements); TotalArrayElements += 1; for(Index = 0;Index < TotalArrayElements;Index++) { printf("\nIntArray[%d] = %d",Index,IntArray[Index]); } printf("\n"); return 0; } void Insert_val_to_Pos(int*p,int pos,int val,int total) { int i; for(i = total;i >= pos;i--) p[i+1] = p[i]; p[pos] = val; }
Output
How many elements do you want to add (< 10) ? 5 Enter 5 Elements 1 20 30 40 50 Values are IntArray[0] = 1 IntArray[1] = 20 IntArray[2] = 30 IntArray[3] = 40 IntArray[4] = 50 Enter Position to Insert :2 Enter Value to Insert :25 IntArray[0] = 1 IntArray[1] = 20 IntArray[2] = 25 IntArray[3] = 30 IntArray[4] = 40 IntArray[5] = 50