Advertisement
RobertDeMilo

WB2.8 Словари 1

Sep 3rd, 2023
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.15 KB | None | 0 0
  1. #include <iostream>
  2. #include <map>
  3.  
  4. using namespace std;
  5.  
  6. void PrintMap(const map <int, string>& m)
  7. {
  8.     cout << "Size = " << m.size() << endl;
  9.     for (auto item : m)
  10.     {
  11.         cout << item.first << ": " << item.second << endl;
  12.     }
  13. }
  14.  
  15. void PrintReversedMap(const map <string, int>& m)
  16. {
  17.     cout << "Size = " << m.size() << endl;
  18.     for (auto item : m)
  19.     {
  20.         cout << item.first << ": " << item.second << endl;
  21.     }
  22. }
  23.  
  24. map<string, int> BuildReversedMap(const map<int, string>& m)
  25. {
  26.     map<string, int> result;
  27.  
  28.     for (auto item : m)
  29.     {
  30.         result[item.second] = item.first;
  31.     }
  32.     return result;
  33. }
  34.  
  35. int main()
  36. {
  37.     map<int, string> events;
  38.     events[1950] = "Bjarne Stroustrup's birth";
  39.     events[1941] = "Dennis Ritchie's birth";
  40.     events[1970] = "UNIX epoch start";
  41.  
  42.     PrintMap(events);
  43.  
  44.     cout << events[1950] << endl;
  45.     events.erase(1970); // принимает ключ, который хотим удалить вместе с его значением
  46.  
  47.     PrintMap(events);
  48.  
  49.     //PrintReversedMap(BuildReversedMap(events));
  50.     map<string, int> event_for_year = BuildReversedMap(events);
  51.     cout << event_for_year["Bjarne Stroustrup's birth"];
  52.  
  53.     return 0;
  54. }
  55.  
  56.  
Tags: erase
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement