Подсчитать число различных значений в массиве. Си
такая проблемка,есть код,в котором массив отсортирован нужно:Подсчитать число различных значений в массиве Вопрос:Как сделать так,чтобы в коде повторение числа не учитывалось.
т.е пример: [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;
}