3

ファイルから配列に整数を読み取ろうとしています。しかし、プログラムを実行するとエラーが発生します。

PROGRAM MINTEM

INTEGER TEMP(4,7), I, J, MINIMUM, CURRENT

OPEN(UNIT=1, FILE='temps.dat')
READ (1,*) ((TEMP(I,J),J=1,7),I=1,4)

MINIMUM = TEMP(1,1)
DO I = 1,4
    DO J = 1,7
        IF (TEMP(I,J) < MINIMUM) THEN
            MINIMUM = TEMP(I,J)
        END IF
    END DO
END DO


PRINT *, "MINIMUM TEMPERATURE = ", MINIMUM
END PROGRAM MINTEM

入力ファイルは次のようになります。

 22
100 90 80 70 60 100 90 80 70 60 100 90 80 70 60 100 90 80 70
100 90
4

1 に答える 1

2

提供したファイルは、次を使用して読み込むことができます。

integer, allocatable :: t(:)
open(1,file='temp.dat')
read(1,*) N   ! your first line with 22
allocate( t(N-1) )  ! further on you only have 21 elements
read(1,*)t          ! so, read them in 
print*, t
deallocate(t)
close(1)
于 2012-11-06T05:45:07.420 に答える