Fortran初心者です。急遽Fortranを使わなくいけなくなり、また大至急なのでゆっくり勉強する時間がないので、必要なことのみ調べながらやっています。
現在、ある関数を作っています。
ここでやりたいこととして
1.Doループにより「ntcabs = 1」のときに、「array.csv」ファイルから値を読みこんで「n_array(n)」というは配列に格納して、これは関数終了後も保持しておきたい。その後、その配列の1つ目の値を「direchlet_pressure」に代入したい。
2.「ntcabs = 1」以外の時は、「ntcabs = 1」のときに処理しで保持している配列「n_array(n)」から、「ntcabs」番目の値を「direchlet_pressure に代入したい。
というような処理をしたいと思っていますが、コンパイルのときにエラーが出て、原因がよく分かりません。どなたか教えてくれませんか。
コード
program readcsv implicit none integer :: n = 100 real pressure integer i real, save n_array(n) real direchlet_pressure integer :: ntcabs = 0 do ntcabs = 1, n if(ntcabs==1)then open (17, file='array.csv', status='old') read (17, '()') ! ヘッダ行の読み飛ばし do i = 1, n read (17, *) pressure n_array(i) = pressure !配列のi番目にcsvファイルのi番目を格納 end do direchlet_pressure = n_array(1) print *,n_array(1) !出力したい配列要素 close (17) else direchlet_pressure = n_array(ntcabs) end do end program readcsv
エラー
tsubasa@tsubasa-VirtualBox:~/fortran$ gfortran readcsv.f95 readcsv.f95:7:7: real, save n_array(n) 1 Error: Invalid character in name at (1) readcsv.f95:25:5: end do 1 Error: Expecting END IF statement at (1) readcsv.f95:26:3: end program readcsv 1 Error: Expecting END IF statement at (1) f951: Error: Unexpected end of file in ‘readcsv.f95’
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。