Nickolay.info. Алгоритмы. Количество различных элементов в массиве

Эта задача легко решается, если применить принцип сравнения "каждый с каждым", как в сортировках.

Функция 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;
}

Рейтинг@Mail.ru

вверх гостевая; E-mail