#include <iostream>\x0d #include <vector>\x0d #include <string>\x0d \x0d void print(const std::string &s, size_t i) {\x0d size_t len = s.length();\x0d size_t space_count = i < len ? i : len;\x0d for(size_t j = 0; j < space_count; ++j)\x0d std::cout << " ";\x0d if (space_count < len)\x0d std::cout << s.c_str() + i;\x0d }\x0d int main()\x0d {\x0d using namespace std;\x0d vector<string> words;\x0d \x0d size_t max_len = 0;\x0d \x0d while(true)\x0d {\x0d string s;\x0d cin >> s;\x0d if (!cin)\x0d break;\x0d string t(s);\x0d if (max_len < t.length())\x0d max_len = t.length();\x0d words.push_back(t);\x0d }\x0d \x0d for (size_t i=0; i < max_len; ++i)\x0d {\x0d vector<string>::const_iterator start = words.begin();\x0d print(*start, i);\x0d for(start = start + 1; start != words.end(); ++start)\x0d {\x0d cout << " ";\x0d print(*start, i);\x0d }\x0d cout << endl;\x0d }\x0d return 0;\x0d }\x0d
Note that non-ascii characters in the above source code will be escaped (such as \x9f).