자동 할당 배열을 사용한

배열의 스왑

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고 저장

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



+ Recent posts