電子書籍の厳選無料作品が豊富!

フォートランで任意のデータの総和を求めるプログラムを書きたいのですが
例えばデータファイルに2,3,6,8とあればその和19が出てくる感じです。
よくやりかたがわかりません。
始めにこのようにファイル形式でデータを取り込みます。
INTEGER n
OPEN(5,FILE='test.txt')
100 READ(5,*,END=110) n
WRITE(*,*) n
GO TO 100
110 CONTINUE
CLOSE(5)
END

次に総和をはじきだしたいのですが。ここのところがよくわかりません。
どうか教えていただきたいのですが。

A 回答 (2件)

質問のプログラムを改造するつもりだったんですが^^


でないと、順番に読み込んだnが無駄になりますので。


READ~GOTOまでが繰り返しの間なので
※ファイルから1件読み込み、終了なら110へ。そうでなければGOTOまでの処理を行い、以下繰り返し


・その前に初期化 sum=0
※1回だけ必要。繰り返しの中に入れてしまうと、sumが増えていかないので


・繰り返しの間に sum=sum+n
※データファイルの内容nをsumに加算する。nが終わるまで繰り返される。終わったかどうかの判断はREADでしている
    • good
    • 0
この回答へのお礼

丁寧な解説ありがとうございます。
無事コンパイル、実行できるようになりました

お礼日時:2005/09/09 13:55

もう一つ、変数を用意して、ファイルを読むたびに足していけばよい(総和=総和+n)です。

OPENの前に初期化(0を代入)も忘れずに。

この回答への補足

INTEGER n
OPEN(5,FILE='test.txt')
100 READ(5,*,END=110) n
WRITE(*,*) n
GO TO 100
110 CONTINUE
CLOSE(5)
END
すみませんFORTRANは初心者なんですが、このあとに
    sum=0
    do 300 i=1,10000000

    sum=sum+x2(i)
300 continue
ファイルは1回だけよむようにしたいのですが。
もう少しヒントをいただけるとありがたいのですが
申し訳ございません。
なかなかなじめません。プログラムは。(泣)

補足日時:2005/09/08 07:01
    • good
    • 0

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