Mam napisać program który wczyta wyrazy i zwróci informacje o liczbie wyrazów np. wpisujemy auto dom dom program poda 1auto 2dom. proszę o pomoc nic nie mogę wymyśleć a jak już cos jest to złe.
0
3
Najprościej będzie jeśli użyjesz kontenera std::unordered_map
, i po wczytaniu każdego słowa będziesz inkrementował wartość wystąpień w mapowaniu słowo⟶liczba.
0
A mógł
byś napisać przykład jakiś żeby lepiej zrozumieć?
@kq: mógł byś bardziej podpowiedzieć bo mój poziom c++ jest slaby?
4
#include <iostream>
#include <unordered_map>
#include <string>
using namespace std;
int main() {
unordered_map<string, size_t> occurrences;
for (string input; cin >> input;) {
occurrences[input] += 1;
}
for (auto kv : occurrences) {
cout << kv.first << ": " << kv.second << endl;
}
return 0;
}