に変換私はこのような大規模なテキストファイルを持っている:テキストファイルから文字列を読み取り、整数パラメータ
!species #Oxygen
ind_CO 1.0
ind_CO2 2.0
ind_CH4 0.0
ind_O3 3.0
を私のコード内の文字(ind_CO、ind_CO2など)は、このように宣言されています:
INTEGER, PARAMETER :: ind_CO2 = 1
INTEGER, PARAMETER :: ind_CH4 = 2
INTEGER, PARAMETER :: ind_O3 = 3
INTEGER, PARAMETER :: ind_CO = 4
そして、各種の濃度はC(ind_)として計算される。だから私は それぞれのC(ind _)*(#酸素)の積を計算します。つまり、テキストファイルのデータとコードのデータを関連づけたいと思います。私はそれが正しいではないですけど、私の考えは、コードの先頭に各化合物のために保存される名前C行列で挿入することです
program
implicit none
INTEGER, PARAMETER :: ind_CO2 = 1
INTEGER, PARAMETER :: ind_CH4 = 2
INTEGER, PARAMETER :: ind_O3 = 3
INTEGER, PARAMETER :: ind_CO = 4
REAL :: C(4) ! Concentration for each Compound
REAL :: numO ! Number of Oxygens
REAL :: ANS(4) ! To Calculate
INTEGER :: err
CHARACTER :: species*11
open (unit=15, file="data.txt", status='old',access='sequential', form='formatted', action='read')
err=0
do
read (15, *,IOSTAT=err) species, numO
if (err==-1) exit
! I don 't know if it is possible to convert a character to an integer
! parameter in such a way that the index of the matrix corresponds to
! the right compound
ANS(species) = C(species)*numO
write (*, *) species, numO, ANS(species)
enddo
close(15)
end program
:私はこのような何かを試してみました。 これらの文字を読んだり変換したり、それらを宣言されたパラメータに関連付けることができるかどうか質問したいと思います。
私はfortran90でそれをしなければなりません – POUR
注意を喚起するために、すべてのFortranの質問にtag [tag:fortran]を使用してください。 –
[tag:fortran77]をなぜ追加しましたか?あなたはFortran 90が必要だと言ったのですか? –