このコードは、ファイルを 1 行ずつ文字列に読み取ります。文字列が空白でない場合、空白ではなく 2 つの数値を含む行に対応し、次の配列要素にそれらを読み取ります。配列が十分な大きさであると宣言されていると想定されます。これはあなたの質問に答えていますか?より良い設計では、ファイルを読み取って数値の数を決定し、ファイルを巻き戻し、配列を正しいサイズに割り当ててから、ファイルを配列に読み取ります。
編集:実際には、Fortran は空白行を自動的にスキップするため、ソリューションはより簡単になります。
program read_file
use, intrinsic :: iso_fortran_env
implicit none
integer :: i, j, ReadCode
real, dimension (100) :: x, y
open (unit=2, file="grades.dat", access="sequential", form="formatted", status="old", action="read" )
i = 1
ReadLoop: do
read (2, *, iostat=ReadCode ) x (i), y (i)
if ( ReadCode /= 0 ) then
if ( ReadCode == iostat_end ) then
exit ReadLoop
else
write ( *, '( / "Bad read: ", I0 )' ) ReadCode
stop
end if
end if
i = i + 1
end do ReadLoop
do j=1,i-1
write (*, *) x(j), y(j)
end do
end program read_file