お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2011-08-29 22:37:54

ogatan645
新しいメンバ
登録日: 2011-08-26

gfortranの計算がうまくいきません

windows7とのデュアルブートを行いました。
gfortranをインストールを完了し、テストとして簡単なプログラムを書きました。コンパイルはできるのですが
計算がうまくいきません。プログラムのソースは以下。

      real a,b,c
      c=a+b
      read(*,*) a,b
      write(*,*) c
      end

例えばa,bに2,4を入力すると、 出力は 6 になるはずが 3.93422972E-33 のようになってしまいます。
また、この結果は実行する度に異なる値をとります。(5.70067814E-33など......)

どなたか解決のためのアドバイスをお願いします。

オフライン

 

#2 2011-08-29 22:41:47

ogatan645
新しいメンバ
登録日: 2011-08-26

Re: gfortranの計算がうまくいきません

投稿者です。

補足ですが、 real a,b,c を integer a,b,c にすると出力結果は 159359417 のようになります。(こちらも毎回異なる値になります)

オフライン

 

#3 2011-08-29 22:55:23

hmatsue
アドバイザ
登録日: 2009-03-10

Re: gfortranの計算がうまくいきません

fortranという言語は名前以外全く知らないのですが、

コード:

      real a,b,c
      c=a+b
      read(*,*) a,b
      write(*,*) c
      end

a,bが初期される前に、cを計算してしまっているのがまずいのではないでしょうか。
UbuntuのFortran環境の問題ではなく、Fortranの文法の問題だと思われます。

オフライン

 

#4 2011-08-29 23:00:25

ogatan645
新しいメンバ
登録日: 2011-08-26

Re: gfortranの計算がうまくいきません

>>hmatsuさん
a,bを入力後にcを計算するように書き換えたところ、確かに結果は6になりました。
こんな初歩的なことで......。お恥ずかしい。

ありがとうございました。

オフライン

 

Board footer

Powered by FluxBB