01/10/2018, 12:03

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

Nguyễn Duy Hùng viết 14:08 ngày 01/10/2018

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

SuperHackerProNo1ty viết 14:09 ngày 01/10/2018

bạn nhầm ròi, for nó chỉ đọc giá trị khởi tạo 1 lần mà

Bài liên quan
0