nie aktualne
Tworzysz std::map z kluczem jako string i wartością jako int. Przy wczytywaniu dodajesz do wartości wskazywanej przez auta_.marka jeden. Jak sobie to wypiszesz to już twoja działka ;)_
Czyli dodajesz plik nagłówkowy “map”
#include
W funkcji main dodajesz:
map marki;
marki.insert(pair("bmw", 0));
marki.insert(pair("audi", 0));
//i tak dalej dla kazdej marki
A później tam gdzie masz pętle wczytującą dane, na jej końcu dopisujesz:
marki[auta[i].marka]++;
To nie jest potrzebne. operator[] dodaje element jeśli go nie ma w kolekcji. Co prawda mogą z tego tytułu wyniknąć problemy związane z domyślną wartością dla inta(VS: INT_MAX, GCC: bodaj 0), ale i to da się obejść(najpierw sprawdzenie czy obiekt istnieje, a potem dodanie jeśli nie istnieje, ew. utworzyć klasę udającą inta i inicjalizacja go w konstruktorze zerem).
Jeśli liczba marek się zmienia, to Twoje rozwiązanie nie sprawdziłoby się.