- 締切済み
Fortranの並びによる出力の書式指定について
Fortranなのですが、以下のような並びによる出力について考えます。 write(*,'( 5i2 )') (n,n=1,5) 出力結果は1 2 3 4 5 というだけのことで、2桁の整数を5個出力せよ、ということです。出力する前から5個の整数が来ることが分かっているということになります。 ところが個数が5じゃない場合、どのように書式指定すればいいでしょうか。出力する整数の個数がプログラムの実行結果によって変化する(つまり変数)ということです。よろしくお願いします。 Fortranのカテゴリがないようなので、C言語の専門家に聞くしかないと思い、こちらに上げてみました。Cだとすんなりできそうですが。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10361)
回答No.1
簡単には、'(999i2)' とか大きい数字を指定すれば良いです。 あるいは、'(5i2)' は文字列データなので、そういう文字列データを作れば良いです。 character(len=10) :: fmt integer :: n, i n = 5 write(fmt,'("(",i4,"i2)")') n write(*,fmt) (i,i=1,n) > Fortranのカテゴリがないようなので、 「 その他(プログラミング・開発)」カテゴリが適当です。
お礼
回答ありがとうございます。やってみます。 Fortranですが、Cが一番、活発であることと、むかしからある開発環境なので似ているのかなと思ってこちらに出しました。”その他”だと目につかなくて回答してもらえないように思ったもので。