fork(3) download
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <cstddef>
  4.  
  5.  
  6. int max_rep(int* f, int* l){
  7. int n = *f, *p;
  8. ptrdiff_t d, k = 0;
  9.  
  10. //сортируем по-возрастанию
  11. std::sort(f, l);
  12.  
  13. //далее пройдёмся по массиву
  14. while(f != l){
  15. p = f + 1;
  16.  
  17. //подсчитываем повторы
  18. while((p != l) && (*p == *f))
  19. ++p;
  20.  
  21. if((d = ptrdiff_t(p - f)) > k){
  22. k = d;
  23. n = *f;
  24. }
  25. f = p;
  26. }
  27. return n;
  28. }
  29.  
  30.  
  31.  
  32. int main(void){
  33. int A[] = { 2, 3, 2, 1, 2, 1, 3, 2, 1 };
  34. int N = sizeof(A)/sizeof(A[0]);
  35.  
  36. std::cout << "max rep: " << max_rep(A, A + N) << std::endl;
  37. return 0;
  38. }
  39.  
Success #stdin #stdout 0s 3096KB
stdin
Standard input is empty
stdout
max rep: 2