C Program to delete duplicate elements in an array

How to write a C Program to delete duplicate elements in an array in C Programming Language ?

This C Program to delete duplicate elements in an array.

Solution:

  1. #include<stdio.h>
  2. int main(){
  3.   int arr[50];
  4.   int *p;
  5.   int i,j,k,size,n;
  6.   printf("\nEnter size of the array: ");
  7.   scanf("%d",&n);
  8.   printf("\nEnter %d elements into the array: ",n);
  9.   for(i=0;i<n;i++)
  10.     scanf("%d",&arr[i]);
  11.   size=n;
  12.   p=arr;
  13.   for(i=0;i<size;i++){
  14.     for(j=0;j<size;j++){
  15.          if(i==j){
  16.              continue;
  17.          }
  18.          else if(*(p+i)==*(p+j)){
  19.              k=j;
  20.              size--;
  21.              while(< size){
  22.                  *(p+k)=*(p+k+1);
  23.                  k++;
  24.               }
  25.               j=0;
  26.           }
  27.       }
  28.   }
  29.   printf("\nThe array after removing duplicates is: ");
  30.   for(i=0;< size;i++){
  31.     printf(" %d",arr[i]);
  32.   }
  33.   return 0;
  34. }


Learn More :