다차원 배열의 선언, 할당 및 이용
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 |