Iteracja map

0

Witam!

Mam problem z wydobyciem obiektów z mapy, potrzebuję wypisać w dowolnej kolejności zawartość mapy <int, int>. Problem może dla większości być błahy, jednak mam problemy ze wskaźnikami i z tego co widzę by dostać się do elementów mapy, potrzeba użyć iteratora, który przypomina wskaźniki.

void w( vector < int > & tab ) {
    map < int, int > ilosc;
    for( int j = 0; j < tab.size(); ++j ) {
        cout << "element tablicy" << tab.at( j ) << endl;
        ilosc[ tab.at( j ) ] += 1;
    }
}

funkcja wypisuje elementy przyjmowanej tablicy i dodaje je do mapy pod indeksem wartości elementu tablicy, zaś wartości elementów mapy to ilość powtórzeń elementów tablicy (zliczam powtórzenia liczb w wektorze ).

Ewentualnie czy istnieje inny sposób wypisania wszystkich elementów mapy ?

1

Rozumiem że ukradli dokumentacje? :(
http://www.cplusplus.com/reference/map/map/begin/

0
	for (auto it=mapa.begin(); it!=mapa.end(); ++it)
		cout << it->first << " -> " << it->second << endl;
1

Można nawet prościej:

for (auto &element : map) {
   std::cout << element.first << " -> " << element.second << '\n';
}

http://ideone.com/xNZ1SP

0

Faktycznie, z c++ mierzę się od niedana i tak naprawdę jeszcze nie było okazji do zaglądania w dokumentację, dziękuję za odpowiedzi, pomogły :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1