codescracker
c

C Program to Delete an Element from an Array



« Previous Program Next Program »

In this tutorial, you will learn and get code about deleting an element from an array given by user (at run-time).

Delete an Element from Array

Let's first create a program that deletes the desired element from the list and prints the message like, the element is deleted.

#include<stdio.h>
#include<conio.h>
int main()
{
    int arr[10], del, i, j, found=0, size;
    printf("Enter 10 Array Elements: ");
    for(i=0; i<10; i++)
        scanf("%d", &arr[i]);
    printf("Enter Element to be Delete: ");
    scanf("%d", &del);
    size = 10;
    for(i=0; i<size; i++)
    {
        if(arr[i]==del)
        {
            for(j=i; j<(size-1); j++)
                arr[j] = arr[j+1];
            found=1;
            i--;
            size--;
        }
    }
    if(found==0)
        printf("\nElement does not found in the list!");
    else
        printf("\nElement Deleted Successfully!");
    getch();
    return 0;
}

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

c program delete element from array

Now supply any 10 numbers and then an element that has to be delete from the given array. Here is its sample run:

c delete element in array

Program Explained

As you can see, the element gets deleted. But to clarify, whether it actually deletes the element or not. Then we have to print the array after removing the element. Let's create a program to solve this problem.

Delete Element and Print New Array

Here is the complete version of the above program.

#include<stdio.h>
#include<conio.h>
int main()
{
    int arr[50], size, del, i, j, found=0;
    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("Enter Element to be Delete: ");
    scanf("%d", &del);
    for(i=0; i<size; i++)
    {
        if(arr[i]==del)
        {
            for(j=i; j<(size-1); j++)
                arr[j] = arr[j+1];
            found=1;
            i--;
            size--;
        }
    }
    if(found==0)
        printf("\nElement does not found in the list!");
    else
    {
        printf("\nElement Deleted Successfully!");
        printf("\nNew Array is:\n");
        if(size==0)
            printf("Empty!");
        else
        {
            for(i=0; i<size; i++)
                printf("%d  ", arr[i]);
        }
    }
    getch();
    return 0;
}

Let's take its two sample run. The first one is:

delete element from array c

As you can see from above snapshot, there are two times the element 2 is found in the list, and it gets deleted. Now let's check it out, what if all the elements of array are same. And user enters the same element to be delete as shown here:

delete element array c

As you can see, since all the elements of array are same, that is 3. And user enters 3 to be delete, therefore after deleting 3, the array becomes empty.

Same Program in Other Languages

C Online Test


« Previous Program Next Program »



© Copyright 2021. All Rights Reserved.

CodesCracker