Theo ý kiến của mình thì bạn làm thế này nhé, tạo 1 biến tạm để lưu vị trí phần tử của mảng(cụ thể ở đây là phần tử thứ 0) sau đó bạn duyệt từ đầu mảng đến cuối mảng, nếu bắt gặp số nào trùng với số được gán cho biến tạm thì tiến hành dồn mảng rồi tiếp theo lại duyệt tiếp sau đó chuyển biến tạm lên phần tử kế tiếp để duyệt.Cơ bản là như thế còn đây là code:
Code:
#include<stdio.h>
#include<conio.h>
void NhapMang(int A[],int&n)
{
printf("Nhap Vao Phan Tu Cua Mang: ");
scanf("%d",&n);
for(int i=0;i<n;i++)
{
printf("Nhap Vao Phan Tu Thu %d: ",i+1);
scanf("%d",&A[i]);
}
}
void XoaTrung(int A[],int &n)
{
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(A[i]==A[j])
{
Delete(A,A[j],n);
if(A[i]==A[j])
{
j--;
}
}
}
}
}
void Delete(int A[100],int m,int &n)
{
for(int i=m;i<n;i++)
{
A[i]=A[i+1];
}
n--;
}
void main()
{
int A[100],n;
NhapMang(A,n);
XoaTrung(A,n);
for(int i=0;i<n;i++)
{
printf("%d\t",A[i]);
}
}
void NhapMang(int A[],int&n)
{
printf("Nhap Vao Phan Tu Cua Mang: ");
scanf("%d",&n);
for(int i=0;i<n;i++)
{
printf("Nhap Vao Phan Tu Thu %d: ",i+1);
scanf("%d",&A[i]);
}
}
void XoaTrung(int A[],int &n)
{
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(A[i]==A[j])
{
Delete(A,A[j],n);
if(A[i]==A[j])
{
j--;
}
}
}
}
}
void Delete(int A[100],int m,int &n)
{
for(int i=m;i<n;i++)
{
A[i]=A[i+1];
}
n--;
}
Good luck.!!