How to get array elements that appear more than once in C++

1 Answer

0 votes
#include <iostream>
#include <map>
 
std::map<int, int> getMoreThanOnce(int arr[], int len) {
   std::map<int, int> freq;
 
   for(int i = 0; i < len; i++){
      freq[arr[i]]++; 
   }
    
   return freq;
}
 
int main() {
    int arr[] = {1, 6, 3, 1, 8, 9, 9, 1, 3, 4};
    std::map<int, int> freq;
    
    freq = getMoreThanOnce(arr, sizeof(arr)/sizeof(arr[0]));
    
    for (auto it = freq.begin(); it != freq.end(); it++) {
      if (it->second > 1)
         std::cout << it->first << " ";
   }
}
 
 
 
/*
run:
 
1 3 9 
 
*/

 



answered Jul 18, 2020 by avibootz

Related questions

1 answer 175 views
1 answer 213 views
1 answer 157 views
1 answer 130 views
1 answer 156 views
1 answer 199 views
...