다차원 배열의 선언, 할당 및 이용

PROGRAM Table

IMPLICIT NONE

REAL, DIMENSION(:, :), ALLOCATABLE :: Temperature
INTEGER :: NumTimes, NumLocs, AllocateStatus, Time, Location

PRINT *, "Enter number of times temperatures are recored"
PRINT *, "and number of locations whrer recorded (ex : 4, 3)"
READ *, NumTimes, NumLocs

ALLOCATE(Temperature(NumTimes, NumLocs), STAT = AllocateStatus)
IF (AllocateStatus /= 0) Then
STOP "*** fail to allocate array ***"
END IF

PRINT *, "Enter the temperature at the first location, "
PRINT *, "then those at the second location, and so on:"

READ *,((Temperature(Time, Location), Location = 1, NumLocs), Time = 1, NumTimes)

PRINT *
PRINT '(1X, T13, "Location" / 1X, "Time", 10I6)', (Location, Location = 1, NumLocs)

DO Time = 1, NumTimes
PRINT '(/ 1X, I3, 2X, 10F6.1)', Time, (Temperature(Time, Location), Location = 1, NumLocs)
END DO

DEALLOCATE(Temperature)

END PROGRAM Table

위 소스를 08_10_Table.f95로 저장

소스 컴파일 및 프로그램 테스트



'Programming > Fortran' 카테고리의 다른 글

컴퓨터 사용 기록 검색(Derived types and structures)  (0) 2008.09.30
저장값의 범위  (0) 2008.09.29
빈도구하기  (0) 2008.09.25
신속정렬(Quick Sort)  (0) 2008.09.22
선택 정렬  (0) 2008.09.17

+ Recent posts