Pers.narod.ru. Алгоритмы. Количество различных элементов в массиве |
Эта задача легко решается, если применить принцип сравнения "каждый с каждым", как в сортировках.
Функция n_dif_items из приведённого листинга находит количество различных
элементов в массиве, заданном указателем
array и числом элементов n.
#include <iostream.h>
int n_dif_items (int n, int *array) {
int i,j,k=1;
for (i=0;i<n-1;i++) {
for (j=i+1;j<n;j++) if (array[i]==array[j]) break;
if (j==n) k++;
}
return k;
}
void main () {
int a[5]={1,2,3,4,5};
cout << n_dif_items (5,a) << endl;
int b[6]={0,0,3,4,0,3};
cout << n_dif_items (6,b) << endl;
int c[4]={0,0,0,0};
cout << n_dif_items (4,c) << endl;
}
|
|