Em mới học thôi nên chưa biết nhiều, em xem trên mạng và code được như sau:
void trungNhau (int a[],int n)
{
int i;
for (i=0;i<n;i++){
while (a[i]==a[n]){
printf ("Nhap lai mang A[%d]",n);
scanf ("%d",&a[n]);
}
}
}
void nhapMang (int a[],int n){
int i,s;
for (i=0;i<n;i++){
printf ("Nhap vao mang A[%d]: ",i);
scanf ("%d",&a[i]);
trungNhau (a,i);
}
}
-Nhưng vấn đề ở đây là em thấy code nó còn lỗi. Ví dụ như cho 3 phần tử thì khi nhập
A[0] = 2
A[1] = 3
A[2] = 2 =>tới khúc này thì nó nhập lại đúng rồi nhưng khi em nhập A[2]=3 rồi A[2] = 2 tiếp thì nó gán A[2] = 2 luôn nên khi xuất mảng nó cho kết quả: 2 3 2 nên mảng vẫn có số trùng. Em đã nghĩ là do trong hàm ‘trungNhau’ thì khi con i nó là 0 và 1 thì kết quả hợp lệ nhưng vì khi nó tăng lên 2 thì cái while không đủ điều kiện nữa nên nó thoát vòng lặp luôn.
-Mọi người có thể chỉ em cách giải với ạ!!!