• 締切
  • すぐに回答を!

fortran定数が代入されない

  • 質問No.5403584
  • 閲覧数137
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 69% (18/26)

fortran95で以下のような内部サブルーチンを作ったのですが、P(F)=1,2の定数がどこにも代入されません。どなたかfortan詳しい方、教えていただけると幸いです。

program sub_1028_1

real :: DU=10.
real :: DIS1=2.
real :: SL1=10.

real,dimension(1:5) :: DEPTH
real,dimension(2) :: P
real,dimension(5,10) :: DR
integer :: F
real :: L


P(1)=1
P(2)=2


OPEN(11, FILE='C:\Users\Documents\\FORTRAN\fortranopenfile\fortranresult.csv')

CALL sub1(DEPTH)
do F=1,2
write(11,*) P(F)
do L=1.,SL1
DR(F,L)=(-1.0*P(F)+3.0)*DU*DEPTH(L)*0.1
write(11,'(F15.5)') DR(F,L)
end do
end do
close(11)

contains

!-----------------------------------------------------
SUBROUTINE sub1(DEPTH)
real,dimension(1:5) :: DIS2,FE,DEPTH
real,dimension(2,10) :: MTD
integer :: F
real :: L

do F=1,2
write(11,*) P(F)
do L=1.,SL1
DIS2(L)=DIS1*L
FE(L)=DIS2(L)*0.1
DEPTH(L)=DIS2(L)*0.01
MTD(F,L)=(-1.0*P(F)+2.5)*FE(L)
write(11,'(5F15.5)') DIS2(L), FE(L), DEPTH(L), MTD(F,L)
end do
end do

end subroutine sub1
!----------------------------------------------------------
end program sub_1028_1

回答 (全1件)

  • 回答No.1

ベストアンサー率 23% (3656/15482)

「P(F)=1,2の定数がどこにも代入されません」というのはどのように確認されたのでしょうか?
write(*,*) P
なんかでも表示されない, ということでしょうか?
補足コメント
koon1

お礼率 69% (18/26)

subroutine内でも、主プログラムでもwrite(*,*) P(F)と書いて確認しているのですが、間違った値がでてきます。一応値がでるということは、何かを参照しているのだと思いますが、何が影響しているのかわからない状態です。
投稿日時:2009/10/28 17:53
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ