#include // std::cout #include // std::map int main() { int n; // Numarul de elemente din lista std::string x; // Variabila temporara std::map hash; // Map-ul (hash-ul) folosit // Citire elemente si adaugare in stiva std::cout << "n = "; std::cin >> n; for (int i = 0; i < n; ++i) { // Citeste un alt element std::cout << "x = "; std::cin >> x; // Adauga o aparitie a lui x ++hash[x]; // Afisare statistici std::cout << x << " apare de " << hash[x] << " ori; hash size = " << hash.size() << "\n"; } // Parcurgerea elementelor din hash std::cout << "Stare finala hash\n"; std::cout << "hash size = " << hash.size() << "\n"; for (std::map :: iterator it = hash.begin(); it != hash.end(); ++it) { // Extrag key si value std::string key = it->first; int value = it->second; // Afisez de cate ori a fost intalnit key std::cout << key << " apare de " << value << " ori\n"; } std::cout << "Golesc hash\n"; hash.clear(); std::cout << (hash.empty() ? "Hash gol" : "Hash contine elemente") << "\n"; return 0; }