画像が添付された投稿の運用変更について

fortranで数値計算をしています。
計算結果をdatファイルに出力する際、
長い変数名の数値を30列(1列は1000行以上)以上にわたって出力したいことがあります。
現在は、それぞれの変数名を横並びにプログラムに書き、
かつ、1行あたりの文字列の制限もあるので、
&記号を使って、無理やり出力しています。
具体的には、
do i=1,1000,1
write(1000,*)aaaaaaaaaaaaaaaa(i),&
&bbbbbbbbbbbbbbbb(i),&
&cccccccccccccccc(i),&
&dddddddddddddddd(i),&
........
end do

という形です。
もっとスマートにかけないでしょうか?

A 回答 (1件)

列に対して変数名が違いますので、あまり良い方法は無いと思います。



&でやらずに、適当な単位でwrite文を分けて改行しないという書き方もできます。
http://www.nag-j.co.jp/fortran/FI_18.html#AUTOTO …

二次元配列に入れて出力するという方法もありますが、各変数を二次元配列に入れ直さないといけませんので手間はあまり変わらないような気がします。

もう一つは、最初から二次元配列として宣言して、
real :: var(30,1000)
integer, parameter :: aaaaaaaaaaaaaaaa = 1
integer, parameter :: bbbbbbbbbbbbbbbb = 2
のようにパラメータとし、
var(aaaaaaaaaaaaaaaa, 1)=879.0
var(bbbbbbbbbbbbbbbb, 1)=123.9
のようにするかでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!