디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

포트란 할 줄 아는 횽들 있어?

아리가또탈레(114.111) 2009.12.22 17:16:14
조회 85 추천 0 댓글 1

원래 내가 C,Java 프로그래머인데, 그냥 포트란 좀 잡아봤어...  그래서 포트란을 C처럼 짜버렸네... ㅡ,.ㅡ;
복잡해서 계가정렬부분을 함수로 묶으려고 하는데, 포트란에서 함수로 묶는건 어떻게 쓰는거야?


       PROGRAM Series

IMPLICIT NONE
INTEGER, PARAMETER :: array_Length = 245448, IETD = 3
INTEGER :: i, k, sums, j, set, element
REAL :: average, allTherain, inten
INTEGER, DIMENSION(array_Length/2) :: end_Flag, end_FlagNoRain
REAL, DIMENSION(array_Length) :: dateSeries, count, total, totalNoRain
REAL, DIMENSION(array_Length/2, array_length) :: event, eventNoRain
! dateSeries = (/ 0,5,0,0,0,4,3,0,0,0, 0,1,2,5,0,0,0,5,2,0, 3,2,0,0,1,0,0,0,0,0, 0,0,0,0,0,0,0,2,4,5, 0,0,0,0,0,0,0,0,0,0, 0,0,4,5,9,6,0,0,0,0 /)
sums = 0
count = 0

!파일입출력부
OPEN (UNIT=12, FILE="busan.txt")
DO i=1,array_Length,1
 READ(12,*) dateSeries(i)
END DO
CLOSE(12)

OPEN (UNIT=13, FILE="output.txt")
OPEN (UNIT=14, FILE="output_data.txt")
OPEN (UNIT=15, FILE="NoRain.txt")


!IETD에 따라서 COUNT변수에 표시---------
DO i = 1,(array_Length-(IETD-1)),1 
 DO k = i,(i+IETD-1),1
  sums = sums + dateSeries(k)
 END DO
  IF(sums /= 0) THEN
  count(i) = 1
  sums=0  
  END IF

END DO
sums = 0


DO k = array_Length-(IETD-1), array_Length, 1
 DO i = k, array_Length, 1
  sums = sums + dateSeries(i);
 END DO
  IF(sums /= 0) THEN
  count(k) = 1
  sums = 0
  END IF
END DO
sums = 0

DO k = array_Length,IETD,-1
 DO i=k,k-(IETD-1),-1
  sums = sums + dateSeries(i)
 END DO
  IF(sums == 0) THEN
  DO j=k,k-(IETD-1),-1  
  count(j) = 0
  END DO
  ELSE
  sums = 0
  END IF
END DO
sums = 0
 
DO k=IETD,0,-1
 DO i=k,0,-1
  sums = sums + dateSeries(i);
 END DO  
  IF(sums == 0) THEN
  count(k) = 0
  ELSE
  sums = 0
  END IF
END DO
sums = 0
!IETD에 따라서 COUNT변수에 표시---------

PRINT *, "IETD는", IETD
WRITE (13, \'("IETD는",I6)\') IETD
!PRINT *, "DATE"
!PRINT \'(1X, 15F5.2)\', (dateSeries(i), i=1, array_Length)

!PRINT *, "COUNT"
!PRINT \'(1X, 15F5.2)\', (count(i), i=1, array_Length)

 

set = 1
element =1
 DO i=1, array_Length-1,1
  IF(count(i)==0 .AND. count(i+1)==1) THEN
  element = 1
  event(set,element) = dateSeries(i)
  END IF
  
  IF(count(i)==1 .AND. count(i+1)==0) THEN
  end_Flag(set)=element
  event(set,element) = dateSeries(i)
  set = set + 1
  END IF
  
  IF(count(i)==1 .AND. count(i+1)==1) THEN
  event(set,element) = dateSeries(i)
  element = element + 1
  END IF

 END DO

 total = 0
 DO i=1,set-1,1
  !PRINT \'(1X, I6, "번 event 입니다.")\', i
  WRITE (13,\'(1x,I6, "번 event 입니다.")\' ) i
  DO j=0,end_Flag(i),1   
   total(i) = total(i) + event(i,j)
  END DO
  !PRINT \'(1X, "지속시간은 ",I4 ,"시간 ,","총합은", F10.2, "입니다.")\', end_Flag(i), total(i)
  WRITE (13,\'(1x,"지속시간은 ",I4 ,"시간 ,","총합은", F10.2, "입니다.")\') end_Flag(i), total(i)
 END DO

 PRINT \'(1x, "총이벤트 갯수 :", I5)\' , set-1
 WRITE (13,\'(1x, "총이벤트 갯수 :", I5)\')  set-1
  allTherain = 0
 DO i=1,array_Length,1
  allTherain = allTherain + dateSeries(i)
 END DO
  PRINT \'(1x, "총 강우량 : ", F10.2, ", 평균강우량 : ", F10.2)\',  allTherain, allTherain/(set-1)
     WRITE (13,\'(1x, "총 강우량 : ", F10.2, ", 평균강우량 : ", F10.2)\') allTherain, allTherain/(set-1)
 inten = 0
 DO i=1,set-1,1
  WRITE (14,\'(F10.2, I4, F10.2)\') total(i), end_Flag(i), (total(i) / end_Flag(i))
  inten = inten + (total(i) / end_Flag(i))
  !PRINT \'(F10.2)\', total(i)
  !PRINT \'(F10.2)\', inten
 END DO
  PRINT \'(1x, "평균강우강도 : ", F10.2)\', inten / (set-1)
  WRITE (13,\'(1x, "평균강우강도 : ", F10.2)\') inten / (set-1) 
  CLOSE (13)
  CLOsE (14)

!무강우지속시간(이벤트별0의갯수=(count(i)==0)), 무강우갯수(이벤트갯수),무강우평균(총0갯수/이벤트갯수)----------------
set = 1
element =1
eventNoRain = 0
 DO i=1, array_Length-1,1
  IF(count(i)==1 .AND. count(i+1)==0) THEN
  element = 1
  eventNoRain(set,element) = dateSeries(i)
  END IF
  
  IF(count(i)==0 .AND. count(i+1)==1) THEN
  end_FlagNoRain(set)=element
  eventNoRain(set,element) = dateSeries(i)
  set = set + 1
  END IF
  
  IF(count(i)==0 .AND. count(i+1)==0) THEN
  eventNoRain(set,element) = dateSeries(i)
  element = element + 1
  END IF
 END DO
 
 
 totalNoRain = 0
  DO i=1,set-1,1
   !WRITE (15,\'(1x,I6, "번 무강우 event 입니다.")\' ) i
   DO j=1,end_FlagNoRain(i),1   
    totalNoRain(i) = totalNoRain(i) + eventNoRain(i,j)
   END DO
    print \'(1x,"무강우 지속시간은 ",I4 ,"시간 ,","총합은", F10.2, "입니다.")\', end_FlagNoRain(i), totalNoRain(i)
  END DO
 CLOSE(15)

 

END PROGRAM Series

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 현역으로 군대 안 간게 의아한 스타는? 운영자 25/06/30 - -
AD 휴대폰 바꿀까? 특가 구매 찬스! 운영자 25/07/02 - -
271162 성대아싸는 영어장애인입니다. [2] [성대아싸]갤로그로 이동합니다. 11.09.10 107 0
271161 영어 실력이 그렇게 쉽게 느나??? [46] 컴돌이(180.227) 11.09.10 251 0
271159 보안하고싶은사람 꼭봐라 [1] 보안막장(122.46) 11.09.10 104 0
271158 배열을 외부변수로 바꾸라는게 무슨소리예염?? [4] 독담갤로그로 이동합니다. 11.09.10 66 0
271155 새상은 넓고 [3] Adelposs갤로그로 이동합니다. 11.09.10 55 0
271154 개발환경 원클릭으로 만들라고! 탐라국(121.159) 11.09.10 43 0
271153 이야 ! 해냈다! [8] 독담갤로그로 이동합니다. 11.09.10 113 0
271152 횽들 들여쓰기 떄문에 그러는데 [7] 독담갤로그로 이동합니다. 11.09.10 64 0
271150 게임은 무슨언어로 만들엉?? [5] 열심히해보잣갤로그로 이동합니다. 11.09.10 133 0
271149 시그멘테이션 오류는 어떻게해야 나는거예염?? [4] 독담갤로그로 이동합니다. 11.09.10 69 0
271148 천재해커의 전설 기억나징 [2] Adelposs갤로그로 이동합니다. 11.09.10 93 0
271147 공부 하고있거든요 ㅜㅜ [3] 독담갤로그로 이동합니다. 11.09.10 73 0
271146 아아.. 너무 잉여롭다 [1] Rei@디씨갤로그로 이동합니다. 11.09.10 48 0
271145 포인터까지배우고 나서 교수님이 시킨거 생각난다 Adelposs갤로그로 이동합니다. 11.09.10 61 0
271144 니들이 존재의 의미를 깨닫지 못하는한 영원히 고통스러울뿐이다. [2] 쵸쵸(219.251) 11.09.10 49 0
271143 중소기업들이 나의 능력을 알아보지 못하는 이유... [6] 천재해커(59.14) 11.09.10 171 0
271142 프갤러들 다 기본으로 토익 800이상에 토익스피킹 7급이상 나오잖아? [30] Deanex갤로그로 이동합니다. 11.09.10 225 0
271140 돈 받고 프로그래머 때려치우기 VS 프로그래머로서 정년 55세까지 보장 [1] ㅇㅇㅇ(121.144) 11.09.10 273 0
271139 이히 횽 봐랑 [2] y녀6디리(220.118) 11.09.10 36 0
271138 만약 C++ 나 C에서 (수정) [10] 써무사(50.131) 11.09.10 94 0
271137 훌륭한 프로그래머와 대단한 개발환경 [2] 구글리(115.145) 11.09.10 88 0
271135 별찍기 해봄 ㅇㅇ 변수 5개나 씀 [2] 로하로하알로하갤로그로 이동합니다. 11.09.10 83 0
271134 내가 옜날에 수학 떡밥 관련해서 본 개념글 올려봄 [4] 뇌지랄갤로그로 이동합니다. 11.09.10 132 0
271133 형들 플밍에서 수학은 어디까지? [5] Adelposs갤로그로 이동합니다. 11.09.10 102 0
271132 형들 소켓 플밍 말이야 [2] Adelposs갤로그로 이동합니다. 11.09.10 54 0
271131 뇌지랄아 [9] Adelposs갤로그로 이동합니다. 11.09.10 60 0
271130 응용 별찍는거 나도 해봣는데 [3] 로하로하알로하갤로그로 이동합니다. 11.09.10 49 0
271129 으앜 심심해 진짜 3개월 동안 플밍도 놓고 병신병신열매 능력자 됨 [4] Adelposs갤로그로 이동합니다. 11.09.10 77 0
271128 프갤이 죽어서 미연시 추천받으로 면갤가니까... [2] Adelposs갤로그로 이동합니다. 11.09.10 53 0
271127 뭐냐 시발 주말이라고 프갤이 지금 죽은거냐 Adelposs갤로그로 이동합니다. 11.09.10 20 0
271126 횽들 내가 devcpp로 코딩을 하는데 [11] 써무사(50.131) 11.09.10 86 0
271125 횽들 그 C++나 C 에서 단어들 기억하는거 [2] 써무사(50.131) 11.09.10 59 0
271124 여기 맥 북 에어 유저 있음? [2] 분당살람갤로그로 이동합니다. 11.09.10 68 0
271123 for문을 이용한 삼각형 만들기 응용문제. [2] IUV갤로그로 이동합니다. 11.09.10 109 0
271121 이제는 질문글 보기도 싫다 Adelposs갤로그로 이동합니다. 11.09.10 30 0
271120 진짜 25살 이하는 아직 인간으로써의 이성을 가지고 있지 않은거 같다. [2] 천재기획가(219.251) 11.09.10 112 0
271119 학과에서 배우는 과목들인데 프로그래머가 되려면 이것들이 도움이 될까요? 현역(110.45) 11.09.10 53 0
271118 횽들. 여기 암호화 관련 질문하면 받아주나효? [4] 이히(121.166) 11.09.10 66 0
271117 프로그래밍 공부하면서 난감하다 느끼는게 순서가 애매하단거임 [9] 사고편향형ADHD갤로그로 이동합니다. 11.09.10 110 0
271116 디시 가입함. [1] 씨닙갤로그로 이동합니다. 11.09.10 52 0
271115 프로그래머들 중에는 해보지도 않고 포기하는 사람들이 많은 것 같음. [5] dd(121.133) 11.09.10 156 0
271114 시_발 코드에 개성이 담기면 어떻게 되는줄 앎? [1] laoshanlong갤로그로 이동합니다. 11.09.10 71 0
271113 횽들 rand 질문 하나 해도되나여? [1] 써무사(50.131) 11.09.10 46 0
271112 c언어 달팽이 배열 짰는데 어디가 틀린거지? [2] 파워맨(119.201) 11.09.10 235 0
271111 이문제 어떻게풀어요? [16] 사고편향형ADHD갤로그로 이동합니다. 11.09.10 116 0
271109 형들 질문이연 [7] 좆대딩.갤로그로 이동합니다. 11.09.10 42 0
271108 진짜 실력이 죽여주면, 미국에서 영어못해도 뽑아간다. [3] 쵸쵸(219.251) 11.09.10 116 0
271106 VB <-> 커널 통신궁금한게있어요 [1] 궁금(180.226) 11.09.10 42 0
271105 코드에는 작성자의 개성을 함축할 수 있어야 한다. [4] ㅇㅇ(121.133) 11.09.10 81 0
271104 간단한 배열 짰는데 자꾸 에러가 뜨네 나만 그런가 좀 봐주셈 [8] ㅍㅁㄴㅇㄻ(119.201) 11.09.10 54 0
뉴스 ‘더 시즌즈’ 주우재, 하하 신곡 안무 박보검에게 직접 전수…박보검 “위험하다” 왜? 디시트렌드 07.05
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2