codescracker
c

C Program to Insert an Element in an Array



« Previous Program Next Program »

In this article, you will learn and get code about inserting an element in an array in following ways:

Let's first create a program, that asks from user to enter 5 array elements and an element which has to be insert at the end of array as shown in the program given below:

#include<stdio.h>
#include<conio.h>
int main()
{
    int arr[10], i, element;
    printf("Enter 5 Array Elements: ");
    for(i=0; i<5; i++)
        scanf("%d", &arr[i]);
    printf("\nEnter Element to Insert: ");
    scanf("%d", &element);
    arr[i] = element;
    printf("\nThe New Array is:\n");
    for(i=0; i<6; i++)
        printf("%d  ", arr[i]);
    getch();
    return 0;
}

This program was build and run under Code::Blocks IDE. Here is its sample run:

c program insert element in array

Enter any 5 numbers as 5 array elements say 10, 20, 30, 40, 50 and then enter an element say 60 to insert at the end of array. Here is the sample run:

insert element in array c

The block of code given below:

for(i=0; i<5; i++)
    scanf("%d", &arr[i]);

is used to receive the input (as 5 array elements) from user. When the value of i becomes 5, means the condition of for loop evaluates to be false, because 5 is not less than 5. So using the statement,

arr[i] = element;

Value of element gets initialized to arr[5]. Because i's last value is 5. Therefore the element gets stored at last index or at the end of given array.

Insert Element at a Particular Position

This program inserts element at a particular position. In this program, user is allowed to define the size for an array.

#include<stdio.h>
#include<conio.h>
int main()
{
    int arr[50], i, element, pos, size;
    printf("How many Element to Store in Array ? ");
    scanf("%d", &size);
    printf("Enter %d Array Elements: ", size);
    for(i=0; i<size; i++)
        scanf("%d", &arr[i]);
    printf("\nEnter Element to Insert: ");
    scanf("%d", &element);
    printf("\nAt what position ? ");
    scanf("%d", &pos);
    for(i=size; i>=pos; i--)
        arr[i] = arr[i-1];
    arr[i] = element;
    size++;
    printf("\nThe New Array is:\n");
    for(i=0; i<size; i++)
        printf("%d  ", arr[i]);
    getch();
    return 0;
}

Let's suppose user has entered:

Then new array looks like, 1, 2, 3, 4, 5, 60, 6, 7, 8, 9, 10. Here is its sample run:

insert element at position c

As you can see from sample run given above, elements from the given position (where the new element gets inserted), gets shifted one index forward.

Based on the user input given above, the dry run of this program goes like:

Same Program in Other Languages

C Online Test


« Previous Program Next Program »



© Copyright 2021. All Rights Reserved.

CodesCracker