빈도 구하기

PROGRAM Frequency

IMPLICIT NONE
INTEGER, PARAMETER :: MaxDefective = 5
INTEGER, DIMENSION(0:MaxDefective) :: Count = 0
INTEGER :: OpenStatus, InputStatus, NumDefects, I
CHARACTER(20) :: FileName
WRITE (*, '(1X, A)', ADVANCE = "NO") "Enter name of data file : "
READ *, FileName
OPEN (UNIT = 10, FILE = FileName, STATUS = "OLD", IOSTAT = OpenStatus)
IF (OpenStatus > 0) THEN
STOP "*** Cannot open the file ***"
END IF
DO
READ (10, *, IOSTAT = InputStatus) NumDefects
IF (InputStatus > 0) THEN
STOP "*** Input error ***"
END IF
IF (InputStatus < 0) THEN
EXIT
END IF
NumDefects = MIN(NumDefects, MaxDefective)
Count(NumDefects) = Count(NumDefects) + 1
END DO
CLOSE(10)
PRINT *
PRINT *, "# of defectives # of hours"
PRINT *, "=============== ============================"
DO I = 0, MaxDefective
PRINT '(1X, I8, I11, " : ", 20A)', I, Count(I), ("***", J = 1, Count(I))
END DO

END PROGRAM Frequency

위 소스를 08_08_Frequency.f95로 저장

자료

0
1
0
2
2
0
1
6
3
0
3
1
2
0
1
2
0

위 자료를 08_08_Fre.dat로 저장

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






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

저장값의 범위  (0) 2008.09.29
다차원배열  (0) 2008.09.25
신속정렬(Quick Sort)  (0) 2008.09.22
선택 정렬  (0) 2008.09.17
평균 이상의 고장 시간 출력(파일의 행수를 알아내기)  (0) 2008.09.17

+ Recent posts