자동 할당 배열을 사용한
배열의 스왑
PROGRAM SwapMain
IMPLICIT NONE
REAL, DIMENSION(:), ALLOCATABLE :: FirstArray, SecondArray
INTEGER :: NumItems
PRINT *, "원소가 몇 개인 배열을 스왑하시겠습니다? "
READ *, NumItems
ALLOCATE(FirstArray(NumItems))
ALLOCATE(SecondArray(NumItems))
PRINT *, "원소가 ", NumItems, "개인 배열을 입력하시오"
READ *, FirstArray
PRINT *, "원소가 ", NumItems, "개인 배열을 입력하시오"
READ *, SecondArray
Print *, "First Array = ", FirstArray, ", Second Array = ", SecondArray
Print *, "Swapping ..."
CALL Swap(FirstArray, SecondArray)
Print *, "First Array = ", FirstArray, ", Second Array = ", SecondArray
CONTAINS
SUBROUTINE Swap(A, B)
REAL, DIMENSION(:), INTENT(INOUT) :: A, B
REAL, DIMENSION(SIZE(A)) :: TEMP ! Automatic Array, 자동할당 배열
Temp = A
A = B
B = Temp
END SUBROUTINE
END PROGRAM SwapMain
위 소스를 08_04_1_Swap.f95고 저장
소스의 컴파일 및 프로그램 테스트
'Programming > Fortran' 카테고리의 다른 글
선택 정렬 (0) | 2008.09.17 |
---|---|
평균 이상의 고장 시간 출력(파일의 행수를 알아내기) (0) | 2008.09.17 |
평균 계산(Assumed-Shape Array, 형상가정 배열 사용) (0) | 2008.09.17 |
평균 계산(함수의 인자로 배열 사용) (0) | 2008.09.16 |
평균이상의 고장 시간 출력(allocatable array 이용) (0) | 2008.09.16 |