Fortranの出力の改行について
Fortran超初心者です。
test1.csvのファイルには、x,yの変数がずっと続いています。
test2.datのファイルには、a,bの変数がずっと続いています。
この2つのファイルの変数を元に、d,eの値を求め、それをtest3.csvというファイルに出力したいのです。
test1.csvとtest2.datの計算はできていたのですが、test3.csvの出力は最後の計算結果のみしか出力されていません。
多分毎回出力はしているのですが、計算を繰り返すと上書きされ消えてしまうという仕組みになっているのだと思います。
どうやったら上書きされずに、csvファイルの次の行に次のデータを入力できますか?
以下私が考えたFortran90のプログラムです。
open (10, file='test1.csv', status='old')
do
read (10, *, iostat=ios) x, y
open (11, file='test2.dat', status='old')
do
read (11, *, iostat=jos) a, b
d = x +a
e = y + b
if (jos .lt. 0) exit
enddo
open (12, file='test3.csv', status='replace')
write (12, *) x, y, a, b, d, e
close (12)
close (11)
if (ios .lt. 0) exit
enddo
close (10)
本当に始めたばかりで、いまいち意味の分かっていない部分もあるのですが、問題点を指摘してくれたら助かります。
わかりにくいので、具体的に少し書くと、
test1.csvには
1,2
9,3
6,4
とデータが続くとします。
test2.datには
80,50
10,20
90,60
とデータが続くとします。
test3.datには
1,2,80,50,81,52
1,2,10,20,11,22
1,2,90,60,91,62
9,3,80,50,89,53
9,3,10,20,19,23
9,3,90,20,99,23
6,4,80,60,86,64
6,4,10,20,16,24
6,4,90,20,96,24
と出力されるようにしたいのです。
実際のデータや変数名も違いますが、プログラムの構造は同じです。
よろしくおねがいします。
お礼
回答ありがとうございました。