// STL5.cp #include #include int main() { int integers[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::string intNames[] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"}; typedef std::map MyMap; typedef std::vector MyVector; MyMap m; for (int i = 0; i < 11; ++i) { m.insert(MyMap::value_type(integers[i], intNames[i])); } MyVector lhs(integers, integers + 11), rhs(integers, integers + 11); std::random_shuffle(lhs.begin(), lhs.end()); std::random_shuffle(rhs.begin(), rhs.end()); for (int j = 0; j < 11; ++j) { int sum = lhs[j] + rhs[j]; int diff = lhs[j] - rhs[j]; if (sum < 11) { std::cout << m[lhs[j]] << " + " << m[rhs[j]] << " = " << m[sum] << std::endl; } if (diff >= 0) { std::cout << m[lhs[j]] << " - " << m[rhs[j]] << " = " << m[diff] << std::endl; } } } // two + zero = two // two - zero = two // eight - five = three // nine + one = ten // nine - one = eight // three + two = five // three - two = one // one + four = five // ten - ten = zero // zero + seven = seven // seven + three = ten // seven - three = four