fork download
  1. // pair
  2. #include <vector>
  3. #include <iostream>
  4. using namespace std;
  5.  
  6. int main() {
  7. /* Pair гэж юу вэ? Энэ нь шууд утгаараа буюу 2 зүйлийг нийлүүлж хос
  8. болгодог гэсэн үг. Өөрөөр хэлбэл int a; гэсэн тохиолдолд зөвхөн
  9. 1 л бүхэл тоо авна. Харин pair<int,int> a; гэсэн тохиолдолд a гэсэн
  10. хувьсагч нь 2 тоо зэрэг авж чадна гэсэн үг юм. Үүнийг int a[2];
  11. гэхэд болох ч энэ 2 нь тус тусдаа буюу a[0], a[1] гэсэн 2 өөр
  12. хувьсагчууд юм. Харин pair бол энэ 2 нь салахгүй үргэлж хамтдаа
  13. явна гэсэн үг. Харин энэ хосын эхний байрлалдах утгад хандахыг
  14. хүсвэл a.first, 2 дахь бол a.second гэхэд л болно. pair нь бичсэнчлэн
  15. хос болгодог гэсэн тул pair< pair<int,int>, int> > a; гэж болох ба
  16. энэ нь 3 ширхэг тоо авах ба хандахдаа a.first.first, a.first.second,
  17. a.second гэнэ. pair<төрөл, төрөл> гэсэн бүтэцтэй.
  18. */
  19. pair<int,int> a; // a нь 2 int агуулах нэг хувьсагч юм.
  20. a.first = 24; // a хувьсагчийн эхнийхэд нь 24 гэсэн утга оноож байна.
  21. a.second = 7; // a хувьсагчийн хоёрдахь нь 7 гэсэн утга оноож байна.
  22.  
  23. cout << a.first << " " << a.second << endl; // хэвлэх
  24.  
  25. vector< pair<int,int> > v; // vector-ын элемэнт бүр нь 2 тоо агуулдаг гэсэн утгатай.
  26. v.push_back( make_pair( 14, 3 ) ); // 14, 3 гэсэн 2 тоог нийлүүлээд хос болгоод үүнийгээ
  27. // v гэсэн vector-т нэмж байна.
  28.  
  29. cout << v[0].first << " " << v[0].second << endl; // хэвлэх.
  30.  
  31. pair<int, string> b; // int, string гэсэн 2 төрлийu хос болгож байна.
  32. b.first = 13; // эхнийхэд нь 13 гэсэн утга оноож байна.
  33. b.second = "Reasons Why"; // хоёрдахьд нь Reasons Why гэсэн утгыг оноож байна.
  34.  
  35. cout << b.first << " " << b.second << endl; // хэвлэх.
  36.  
  37. pair < string, pair<string, string> > c; // string, int, int гэсэн 3-ыг хос болгож байна.
  38. c.first = "Oilgomjtoi"; // эхнийхэд нь Oilgomjtoi гэсэн утга оноож байна.
  39. c.second.first = "Baigaa"; // хоёрдахьд нь Baigaa гэсэн утга оноож байна.
  40. c.second.second = "Biz"; // гуравдахьд нь Biz гэсэн утга оноож байна.
  41.  
  42. cout << c.first << " " << c.second.first << " " << c.second.second << endl;
  43.  
  44. return 0;
  45. }
Success #stdin #stdout 0s 4528KB
stdin
Standard input is empty
stdout
24 7
14 3
13 Reasons Why
Oilgomjtoi Baigaa Biz