質問: まだまだFortran初心者なのですがよろしくお願い致します。 Fortranを用いて数値計算を行っておりまして、読み込ませたいデータが100ほどあるのですが(data1, data2, ..., data100、というデータファイルでして、ヘッダーは同じで読み込ませたい数値のみが異なっています。)、1つずつ読み込ませるのはかなり効率悪いので連続して全てを一気に読み込ませるたいのですが、そのためにはどうしたらよいのか悩んでいます。 同様に結果のファイル(result1, result2, ..., result100)も全て自動で書き出したいので、どちらもopen文をdo-continueでくくればよいのかとも思いやってみましたが上手く行きませんでした。(このようにしますとresult100のみしか作成されません) かなり見当違いのことをやってしまっているのかもしれませんが、周囲にはFortranユーザーはおりませんので、こちらに質問させて頂きました。 正しいプログラムの書き方やアドバイスなど、ご教授頂ければ幸いです。
回答: まず、単純変数に読み込むなら繰り返しは使えませんから、配列変数に読み込んだり、配列変数を書き出したりすることになります。 また、入力、出力とも、1レコードに100個のデータが並んでいるのか、1レコードに1データで100レコードあるのか?それによって書き方は変わります。 前者なら、read(5,*) (data(i),i=1,100) 後者なら、do 10 i=1,100 10 read(5,*) data(i) あと、openを繰り返しちゃダメです。openの意味をわかっていませんね。これはどの言語でも同じです。fortranの場合はopenを省略することも出来ますけど。 お書きの様子だと、まず入門書を読むことから始めるべきかと思います。