Xóa các phần tử trùng trong mảng 1 chiều

Code:

#include<stdio.h>
#include<conio.h>
void Nhap(int a[],int N){
   int i;
   for (i=0;i<N;i++){
      printf("Nhap so thu %d",i);
      scanf("%d",&a[i]);
   }
}
void Xuat(int a[],int N){
   int i;
   for (i=0;i<N;i++)
      printf("%d ",a[i]);
   printf("\n");
}
void Sapxep(int a[],int N){
   int i,j,t;
   for (i=0;i<N-1;i++)
      for (j=i+1;j<N;j++)
         if (a[i]>a[j]){
            t=a[i];
            a[i]=a[j];
            a[j]=t;
         }
}
void Xoatrung(int a[],int *N){
   int i,j,k;
   for (i=0;i<(*N)-1;i++){
    j=i+1;
    while (j<*N)
      if (a[i]==a[j]){
         for (k=j;k<(*N)-1;k++) a[k]=a[k+1];
         *N=(*N)-1;
      }
      else j=j+1;
   }
}
void main(){
   int a[50], N;
   clrscr();
   printf("Mang co bao nhieu phan tu ? ");scanf("%d",&N);
   Nhap(a,N);
   printf("Mang vua nhap:\n");
   Xuat(a,N);
   Xoatrung(a,&N);
   printf("Mang sau khi xoa phan tu trung nhau:\n");
   Xuat(a,N);
   Sapxep(a,N);
   printf("Mang sau khi sap xep\n");
   Xuat(a,N);
   getch();
}