Reputation: 605
I'm trying to read integers from a file to an array. But I get an error when I run the program.
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
Input file looks like this:
22
100 90 80 70 60 100 90 80 70 60 100 90 80 70 60 100 90 80 70
100 90
Upvotes: 3
Views: 14624
Reputation: 26030
The file you provided can be read in using this:
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)
Upvotes: 2