#include #include #include using namespace std; struct toUpper{ char operator()(char ch){ return ch - 32; } }; void printStr(string str){ cout << str; } int main(){ vector data, functionResult, functorResult; string temp; while(cin >> temp){ data.push_back(temp); } for(auto it = data.begin(); it != data.end(); it++){ string str = *it; transform(str.begin(), str.end(), str.begin(), ::toupper); functionResult.push_back(str); } cout << "A)Function" << endl; for_each(functionResult.begin(), functionResult.end(), printStr); cout << endl; for(auto it = data.begin(); it != data.end(); it++){ string str = *it; transform(str.begin(), str.end(), str.begin(), toUpper()); functorResult.push_back(str); } cout << "B)Functor" << endl; for_each(functorResult.begin(), functorResult.end(), printStr); cout << endl; return 0; }