デジタルちんぶろぐ

デジタルな話題

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  268  : 記事  0  : コメント  4375  : トラックバック  79

ニュース


技術以外は
ちんぶろぐ

記事カテゴリ

書庫

日記カテゴリ

前のエントリを元ネタにVB/C#で書いたものが出てきました。

[VB2005]縦書き

縦書きくんC#

他の言語でやったらもっと短くなるんだろうなと思っていましたが案の定そうなってしまいました。

でも、僕が出したものは見やすくするために空行を入れたりしています。

# VB/C#はいいよなぁC++は何か使うためにinclude避けられないもん。「この2行が1行になる!」と思ってincludeを1行追加したら差し引き0ですからね。

あと、僕はプラットフォームに特化した処理をする場合以外は出来るだけVC(2005 or 2008)とgcc(3.4.4 or 4.1.2 or 4.3.0)という2つのコンパイラを試すようにしています。VCだと通ってgccだとエラーといったことが結構あるので、どちらでもコンパイルできるようにしておかないと落ち着かないんですね。

# どちらでも通れば多分構文間違えてないだろうし。

さて、個人的には他人と張り合ったりするのは苦手なので直ぐに負けを認めるタイプなのですが、MVPのお二人相手なら胸を借りるつもりで頑張ってみてもいいかな?と思い、頑張った結果です。

#include <iostream>
#include <fstream>
#include <vector>
#include <string>
int main(int argc, const char* argv[])
{
    if(argc < 2) return 1;
    std::ifstream ifs(argv[1]);
    if(!ifs.is_open()) return 2;
    std::vector<std::string> src(1);
    std::string::size_type m = 0;
    while(!std::getline(ifs, src[0]).eof()) m = (src.push_back(std::string(src[0])), (src[0].size() > m ? src[0].size(): m));
    for(std::vector<std::string>::size_type x = 0; x < m; ++x, std::cout << std::endl)
        for(std::string::size_type y = 1; y < src.size(); ++y) std::cout << (src[src.size()-y].size() <= x ? ' ' : src[src.size()-y][x]);
}

15行まで縮めてみました。

12行目のwhile行の最大長を求めている処理が卑怯な気もしますが、何か使うにはincludeしなきゃならないハンデも背負ってるんでこれくらいは大目に見てほしいところです。

 

英雄になれるかな…バグがありそうでとても心配…

投稿日時 : 2008年12月18日 0:08

コメント

# re: [C++] 縦書きの続き 2008/12/18 2:53 アキラ
Haskellで書いてみました(2行)
http://d.hatena.ne.jp/faith_and_brave/20081217/1229536313

# re: [C++] 縦書きの続き 2008/12/18 9:50 中 博俊
forの,を使っていいなら、もっと短くなりますよ。お互いに。ということで、そこまでやってないんだけど~

# re: [C++] 縦書きの続き 2008/12/19 0:48 あんどちん
>> アキラさん
ナイスです。でもHaskellさっぱりわかりませんw

>> 中さん
forの,は言われると思ったんですけど、これを使わないと中さんのコードより短くできませんでした。僕には。
# それを言われると12行目の,もダメってことになってさらに長くなるし



# JXUAEbnnvLVhSYbJxi 2011/12/27 19:26 www.buytelescopes.com/
Heartfelt thanks..!

Read, of course, far from my topic. But still, we can work together. How do you feel about trust management?!...

# http://burberry.suppa.jp/ 2012/11/01 15:55 ¥Ð©`¥Ð¥ê©`
you have a great blog here! would you like to make some invite posts on my blog?

Post Feedback

タイトル
名前
Url:
コメント: