1: //map17.cpp
3: #include <iostream>
4: #include <iomanip>
5: #include <map>
6: #include <utility>
7: using namespace std;
9: int main()
10: {
11: cout << "\nThis program illustrates the comparison of maps using "
12: "the relational operators.";
13: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
15: pair<char, int> a[] =
16: {
17: pair<char, int>('A', 65),
18: pair<char, int>('B', 66),
19: pair<char, int>('C', 67),
20: pair<char, int>('D', 68),
21: pair<char, int>('E', 69)
22: };
23: map<char, int> m1(a, a+4);
24: map<char, int> m2(a, a+5);
25: map<char, int> m3(a, a+5);
27: cout << "\nWe begin by creating three maps.";
28: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
30: cout << "\nHere are the pairs in the first map:\n";
31: map<char, int>::iterator p = m1.begin();
32: while (p != m1.end())
33: {
34: cout << p->first << " " << p->second << endl;
35: ++p;
36: }
37: cout << "Press Enter to continue ... "; cin.ignore(80, '\n');
39: cout << "\nHere are the pairs in the second map:\n";
40: p = m2.begin();
41: while (p != m2.end())
42: {
43: cout << p->first << " " << p->second << endl;
44: ++p;
45: }
46: cout << "Press Enter to continue ... "; cin.ignore(80, '\n');
48: cout << "\nThe contents of the third map are the same as the second.";
49: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
51: cout << "\nNow we perform and show the results of some "
52: "map comparisons.";
53: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
55: cout << "\nm1 < m2 = " << boolalpha << (m1 < m2);
56: cout << "\nm1 <= m2 = " << boolalpha << (m1 <= m2);
57: cout << "\nm1 > m2 = " << boolalpha << (m1 > m2);
58: cout << "\nm1 >= m2 = " << boolalpha << (m1 >= m2);
59: cout << "\nm2 == m3 = " << boolalpha << (m2 == m3);
60: cout << "\nm2 != m3 = " << boolalpha << (m2 != m3);
61: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
62: }