fork download
  1. #include <iostream>
  2. #include <map>
  3.  
  4. using namespace std;
  5. int main ()
  6. {
  7. multimap<float,string> myMultimapExample;
  8. map<string,float> myMapExample;
  9.  
  10. /// первый вариант
  11. myMapExample.insert ( pair<string,float>("Desk",0.01) );
  12. myMapExample.insert ( pair<string,float>("Table",0.02) );
  13. myMultimapExample.insert ( pair<float,string>(0.01,"Desk") );
  14. myMultimapExample.insert ( pair<float,string>(0.01,"Table") );
  15.  
  16. /// второй вариант
  17. multimap<float,string>::iterator itMultimapExample = myMultimapExample.begin();///итератор указывает на начало multimap
  18. map<string,float>::iterator itMapExample = myMapExample.begin();
  19. myMapExample.insert ( itMapExample, pair<string,float>("Pencil",0.03) );
  20. myMultimapExample.insert ( itMultimapExample, pair<float,string>(0.03,"Pencil") );
  21.  
  22. /// третий вариант
  23. map<string,float> myMapExampleDifferent;
  24. multimap<float,string> myMultimapExampleDifferent;
  25. myMapExampleDifferent.insert( myMapExample.begin(),myMapExample.find("Table") );
  26. myMultimapExampleDifferent.insert( myMultimapExample.begin(),myMultimapExample.find(0.03) );
  27.  
  28. /// вывод на экран map и multimap:
  29. cout << "myMapExample: \t\t myMultimapExample:\n";
  30. for ( itMapExample = myMapExample.begin(),itMultimapExample = myMultimapExample.begin(); itMapExample != myMapExample.end(); ++itMapExample,++itMultimapExample)
  31. {
  32. cout << itMapExample->first << " : " << itMapExample->second << "\t\t " << itMultimapExample->first << " : " << itMultimapExample->second << endl;
  33. }
  34.  
  35. auto itMapExampleDif = myMapExampleDifferent.begin();
  36. auto itMultimapExampleDif = myMultimapExampleDifferent.begin();
  37. cout << "\nmyMapExampleDifferent: \t myMultimapExampleDifferent:\n";
  38. for ( itMapExampleDif,itMultimapExampleDif; itMapExampleDif != myMapExampleDifferent.end(); ++itMapExampleDif,++itMultimapExampleDif)
  39. {
  40. cout << itMapExampleDif->first << " : " << itMapExampleDif->second << "\t\t " << itMultimapExampleDif->first << " : " << itMultimapExampleDif->second << '\n';
  41. }
  42.  
  43. return 0;
  44. }
Success #stdin #stdout 0s 4316KB
stdin
Standard input is empty
stdout
myMapExample: 		 myMultimapExample:
Desk : 0.01		   0.01 : Desk
Pencil : 0.03		   0.01 : Table
Table : 0.02		   0.03 : Pencil

myMapExampleDifferent: 	 myMultimapExampleDifferent:
Desk : 0.01		    0.01 : Desk
Pencil : 0.03		    0.01 : Table