C Program to delete an element in an array

Get an element and delete the element from array

Sample Input 1:

5  5 7 9 3 1  9

Sample Output 1:

5 7 3 1

Try your Solution

Strongly recommended to Solve it on your own, Don't directly go to the solution given below.

#include<stdio.h> int main() { //write your code here }

Program or Solution

				
			
					
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int *a,n,i,element;
	printf("Enter size of array:");
	scanf("%d",&n);

	a=malloc(sizeof(int)*n);

	printf("Enter %d Elements:",n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	printf("Enter a Element to delete:");
	scanf("%d",&element);
	for(i=0;i<n;i++)
	{
		if(a[i]==element)
		{
			while(i<n-1)	
			{
				a[i]=a[i+1];
				i++;
			}
			a[i]=0;
		}
	}
	printf("After deleting %d:",element);
	for(i=0;i<n;i++)
	{
		printf("%d ",a[i]);
	}
	return 0;
				
}
			
				
			

Program Explanation

visit every location in the array if current element in array a[i] is equal to the element which is to be deleted.

Then move all the elements located after i to its previous position using: a[i] = a[i+1]

Comments