FORTRAN III
■ このスレッドは過去ログ倉庫に格納されています
0610609
2006/01/15(日) 22:02:08スペースが入ってしまうのは、フォーマットを指定せずに自由形式を使っているから。
フォーマットは、隙間が開かないように文字列、数字の長さ、文字列を指定すればいい。
文字列は長さを指定しなければ自動的に与えた文字列長になる。すなわち a 。
問題は数字で、今回の場合1桁の場合と2桁の場合が混じっているのであらかじめ
決まらない。したがって動的にFormat文を生成しなければならない。
(IF 文で場合分けしてもいいが)
生成したいFormatは、数字が1桁のとき '(a, i1, a)' 2桁の時 '(a, i2, a)'
動的にFormatを作りたい場合は普通、内部ファイルという物を使って作り上げる。
それが最初のWRITE文。10の対数をとって1を足しているのは変数iの桁数を求めている。
fmtという文字列の中に、'(a, i1, a)' ないし '(a, i2, a)' を書き出している。
Format文はWRITE文の中に文字列として直接書いてもいいし、文字変数でもいい。
FORTRANの教科書などでは行番号を用いる形式を良く使うが、情報を局所に展開
させるほうが好ましいいので避けるべし。
■ このスレッドは過去ログ倉庫に格納されています