fork(2) download
  1. #include <iostream>
  2. #include <string>
  3. #include <map>
  4.  
  5. int main(){
  6. std::string names_str[7] = {"Alex", "Louis", "Alex", "Simon", "Matthew", "Carl", "Simon"};
  7. int names[7];
  8.  
  9. std::map<std::string, int> counter_map;
  10. int counter = 0;
  11.  
  12. for (int i = 0; i < 7; ++i)
  13. {
  14. auto iter = counter_map.find(names_str[i]);
  15. if (iter == counter_map.end())
  16. iter = counter_map.insert(std::make_pair(names_str[i], counter++)).first;
  17. names[i] = iter->second;
  18. }
  19.  
  20. for (int i = 0; i < 7; ++i)
  21. std::cout << names[i] << ' ';
  22. return 0;
  23. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
0 1 0 2 3 4 2