みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Fortranの並びによる出力の書式指定について

Fortranなのですが、以下のような並びによる出力について考えます。
write(*,'( 5i2 )') (n,n=1,5)
出力結果は1 2 3 4 5 というだけのことで、2桁の整数を5個出力せよ、ということです。出力する前から5個の整数が来ることが分かっているということになります。
ところが個数が5じゃない場合、どのように書式指定すればいいでしょうか。出力する整数の個数がプログラムの実行結果によって変化する(つまり変数)ということです。よろしくお願いします。
Fortranのカテゴリがないようなので、C言語の専門家に聞くしかないと思い、こちらに上げてみました。Cだとすんなりできそうですが。

投稿日時 - 2018-02-23 09:25:54

QNo.9431838

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

簡単には、'(999i2)' とか大きい数字を指定すれば良いです。

あるいは、'(5i2)' は文字列データなので、そういう文字列データを作れば良いです。
character(len=10) :: fmt
integer :: n, i
n = 5
write(fmt,'("(",i4,"i2)")') n
write(*,fmt) (i,i=1,n)

> Fortranのカテゴリがないようなので、
「 その他(プログラミング・開発)」カテゴリが適当です。

投稿日時 - 2018-02-24 01:49:22

お礼

回答ありがとうございます。やってみます。
Fortranですが、Cが一番、活発であることと、むかしからある開発環境なので似ているのかなと思ってこちらに出しました。”その他”だと目につかなくて回答してもらえないように思ったもので。

投稿日時 - 2018-02-24 17:42:24

あなたにオススメの質問