Подсчитать число различных значений в массиве. Си

такая проблемка,есть код,в котором массив отсортирован нужно:Подсчитать число различных значений в массиве Вопрос:Как сделать так,чтобы в коде повторение числа не учитывалось.

т.е пример: [0;2;2;3] рез-тат должен быть равен 3,выдает 4

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int i, N, sum = 0, count = 0, *arr,j;
int z=0;
int kolvo=0;
printf("Введите кол-во элементов массива: ");
scanf("%d", &N);
arr = (int*)calloc(N, sizeof(int));
printf("Введите элементы массива:\n");

for (i = 0; i < N; i++)
{
printf("arr[%d] = ", i);
scanf("%d", &arr[i]);
}


for (i = 0; i < N-1; i++)
{
for (j=0; j<N-i-1; j++)
{
if(arr[j] > arr[j+1])
{
z=arr[j];
arr[j]=arr[j+1];
arr[j+1]=z;
}
}
}

for (i=0;i<N-1;i++)
{
for (j=0; j<N-i-1; j++)
{
if (arr[i]!=arr[j]) kolvo=kolvo+1;

}



}






printf("%d\n",kolvo);


for (i=0;i<N;i++)
printf("%d\n",arr[i]);

return 0;
} 

Ответы (0 шт):