0

私は出力ファイル、単一の列を持っています.7行目はそれぞれ文字列で、他の行は数値です(以下のようなもの)

998.69733    
377.29340    
142.22397    
53.198547    
19.743515    
7.5493960    
timestep:  1
998.69733    
377.29340    
142.22047    
53.188023    
19.755905    
7.5060229    
timestep:  2
998.69733    
377.29337

このデータを別のファイルに読み込み、テキストを省略して数字のみを保持する必要があり、ループを試行して文字列にダミーを割り当てようとしましたが、(AI) を認識しないためエラーが発生します。

DO 10 I = 1, 1000
 IF (MOD(I,7) == 0) THEN 
  READ (8, FMT= '(AI)') dummy
 END IF
  READ (8,*) val
  WRITE (9,*) val
10 CONTINUE

(8 - 入力ファイルと 9 - 出力ファイルの割り当て)

私は Fortran を初めて使用し、解決策または少なくとも同様の問題を探すのに多くの時間を費やしましたが、何も見つかりませんでした。助けていただければ幸いです。

事前にどうもありがとうございました。

4

2 に答える 2

1

空の入力項目リストでリスト指示入力を使用するだけです。
また、ループ内で 7 行目が 2 回読み取られます。の読み取りと書き込みをセクションに入れるvalELSE、代わりに次のCYCLEステートメントを使用します。

私は = 1, 1000
  IF(MOD(I,7) == 0) THEN
    READ(8,*)
    サイクル
  END IF
  READ(8,*) 値
  WRITE(9,*) 値
終了する
于 2011-04-12T13:30:50.450 に答える