0
私は8行11列の外部ファイルを持っています。とにかくこのファイルを変更することはできません。"Fortranランタイムエラー:実数が正しくありません" - ファイルを読む
At line 14 of file test.f (unit = 100, file='SSL.dat')
Fortran runtime error: Bad real number in item 2 of list input
は私がする必要があると思う:
Name Sun Jupiter Saturn Uranus Neptune EarthBC Mercury Venus Mars Pluto
mass(Msun) 1.000 9.547922048e-4 2.858857575e-4 4.366245355e-5 5.151391279e-5 3.040433607e-6 1.660477111e-7 2.448326284e-6 3.227778035e-7 6.607313077e-9
a(AU) 5.20219308 9.54531447 19.19247127 30.13430686 1.00000159 0.38709889 0.72332614 1.52364259 39.80634014
e 0.04891224 0.05409072 0.04723911 0.00734566 0.01669714 0.20563613 0.00676922 0.09330305 0.25439724
I(deg) 1.30376425 2.48750693 0.77193683 1.77045595 0.00090235 7.00457121 3.39460666 1.84908137 17.12113756
M(deg) 240.35086842 045.76754755 171.41809349 293.26102612 094.81131358 242.19484206 345.30814403 330.93171908 024.68081529
w(deg) 274.15634048 339.60245769 098.79773610 255.50375800 286.84104687 029.14401042 054.54948603 286.56509772 114.39445491
OMEGA(deg) 100.50994468 113.63306105 073.98592654 131.78208581 176.14784451 048.32221297 076.66204037 049.53656349 110.32482041
このファイルには、私は次のメッセージを取得したFortran90としてこのプログラムを実行すると、正しく
program readtable
implicit none
integer :: i, j, num_col, num_row
double precision, dimension (8,11) :: a
character(14), dimension (8) :: par
num_col = 4
num_row = 8
open(100,file='SSL.dat',status='old')
do j=1, num_row
read(100,*) par(j), (a(i,j), i=1,num_col)
end do
print *, par
print *, a(2,3) !Jupiter's Mass
end program
をコンパイルし、次のプログラムによって読み取られますプログラムがファイルを適切に読むのを助けるためにFORMAT()ステートメントを作成しますが、フォーマットを正しく取得できないようです。
「read(100、*)」を一度呼び出すと、ヘッダー行をスキップすることができます。 )par(1) 'を返します。 –
試してみると動作しません。私はファイルの最初の行をスキップしてみましたが、何もしませんでした –
コードとともにサンプルのデータファイルを提供することを検討してください。 –