Nie rozumiem z jakiego powodu program wypisuje mi dla przykładowych danych na początku
0 1
Potem wypisuje prawidłowo ale nie mogę znaleźć błędu. Może też dlatego, że dopiero zacząłem używać map a ostatnią pętle przepisałem z jakiegoś tutoriala. Dodatkowe pytanie, czy da się jakoś inaczej wypisać wszystkie elementy mapy, ponieważ nie do końca rozumiem ten zapis w ostatniej pętli.
https://pl.spoj.com/problems/JZLICZ/
#include <iostream>
#include <vector>
#include <map>
using namespace std;
int main(int argc, const char * argv[])
{
int n;
cin >> n;
string temp;
vector<string> dane;
map<char, int> liczniki;
while (cin >> temp)
{
dane.emplace_back(temp);
}
for (int i=0; i<dane.size(); i++) {
for (int j=0; j<dane[i].size(); j++) {
liczniki[dane[i][j]]++;
}
}
for (map<char , int>::iterator it = liczniki.begin(); it !=liczniki.end(); it++) {
cout << it->first << " " << it->second << endl;
}
return 0;
}