Lọc phần tử trùng lặp trong mảng
[code]#include <stdio.h>
#include <stdlib.h>
void uniqueArray(int *array,int *newArray,int n);
int main()
{
int n,i,j;
scanf("%d", &n);
int *array = (int *)calloc(n,sizeof(int));
int *newArray = (int *)calloc(n,sizeof(int));
for(i = 0; i < n; i++)
{
scanf("%d", &array[i]);
}
/-----------------/
uniqueArray(array, newArray, n);
for(j = 0; j < n-1; j++)
{
printf("%d ", newArray[j]);
}
}
void uniqueArray(int *array,int *newArray,int n)
{
int i,j,k;
for(i=0;i<n;i++)
{
for(j=0,k=0;j<i;j++,k)
{
if(array[i]==array[j])
{
break;
}
if(j==i)
{
newArray[k]=array[i];
k=k+1;
}
}
}
}[/code]
các bác xem giúp em xem, tại sao biến k của em trong cái điều kiện gán vào mảng mới nó khong chạy nhỉ, em viết v k biết có đúng không
tại vì cứ vào vòng for thứ 2 bạn lại gán nó bằng 0 thì sao mà chạy với nhảy
bạn nhầm ròi, for nó chỉ đọc giá trị khởi tạo 1 lần mà