id:cxxさんのエントリ経由で面白そうなサイトを見つけました。
わたしもひとつ…。
#include <iostream> #include <string> void pyramid(const std::string& src) { const int lineLength = src.size() * 2 - 1; std::string line(lineLength, ' '); for(int i = src.size() - 1; i >= 0; --i) { line[i] = src[i]; std::cout << line.substr(0, lineLength) << std::endl; line = ' ' + line; } } int main(int, char* []) { pyramid("hoge"); pyramid("abracadabra"); return 0; }
同サイトに載せたもをちょっと修正。