こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

fortranのif文にでるエラーがわかりません。

c termination test
sorce=amax1(resorm,resoru,resorv)
310 if((niter.eq.20.and.sorce.gt.1.0e7*sormax)
& .or.(niter.eq.maxit)) then
write(6,320)
320format
& (1h ,'solution diverges or needs more iterations'/)
if(sorce.gt.sormax) go to 300
c----- end of iterations

文献に載っていたプログラムのメインプログラムの一部です。 310のif文に対してでるエラーの意味が
どうしてもわかりません。
fortranのコンパイルのエラーに関してはだいたいはわかっているつもりなのですが・・・
理由がわかるかたいらしたら教えていただけませんか?

よろしくお願いします。

投稿日時 - 2003-08-28 16:16:41

QNo.639947

暇なときに回答ください

質問者が選んだベストアンサー

310のIF文にはTHENが付いているのでブロックIF文ですよね。この場合、対応するEND IF文が必要なはずですが、抜けているようです。WRITE文の次の行にEND IF文を入れてみて下さい。
もしも、示されているソースのもっと後ろにEND IF文があるのであれば、見当違いな指摘ですので無視して下さい。

投稿日時 - 2003-08-28 16:43:19

お礼

ありがとうございました.おっしゃるとおりでした.
if then ときたら
endif が必要だったんですね,
勉強になりました.

投稿日時 - 2003-08-29 10:36:35

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問