Mình dùng ngôn ngữ C. Ý tưởng của mình là khi nhập một mảng có nhiều số trùng lặp thì nó sẽ xóa đi những số trùng lặp đó, không những một mà có thể n số trùng lặp.
Ví dụ: dãy mình nhập là: A = {6,5,9,4,9,8,9} sau khi thực hiện sẽ là A = {6,5,4,8}
Nhưng sau khi Run thì nó chỉ xóa đi một phần tử đầu tiến nó gặp (Ví dụ như 9) và giữ nguyên các số trùng lặp còn lại.
Cho mình hỏi tại sao và code sai ở điểm nào? Mình xin cảm ơn!
for(i=1;i<*n;i++) if(value==a[i]) count++;
for(i=1;i<=count;i++)
{
flag = 1;
for (i=1;i<*n && flag == 1;i++){
if(value==a[i]){
vt=i;
flag = 0;
}
}
for (i=vt;i<=*n;i++){
a[i]=a[i+1];
}
(*n)--;
}
for (c = 1; c < *(n); c++) printf("%d\n", a[c]);