エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

Pyramid

id:cxxさんのエントリ経由で面白そうなサイトを見つけました。

わたしもひとつ…。

http://ja.doukaku.org/52/

#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;
}

同サイトに載せたもをちょっと修正。