くだすれFORTRAN(超初心者用)at TECH
くだすれFORTRAN(超初心者用) - 暇つぶし2ch6:デフォルトの名無しさん
06/01/27 02:39:51
MODULE mod_subs
IMPLICIT NONE
INTEGER, PARAMETER :: ndays_of_month(12, 2) = &
RESHAPE( (/31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, &
31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 /), (/12, 2/) )
CONTAINS
LOGICAL FUNCTION qleapyear(iyear)
IMPLICIT NONE
INTEGER, INTENT(IN) :: iyear
qleapyear = .FALSE.
IF ( MOD(iyear, 4) == 0 ) qleapyear = .TRUE.
IF ( MOD(iyear, 100) == 0 ) qleapyear = .FALSE.
IF ( MOD(iyear, 1000) == 0 ) qleapyear = .TRUE.
RETURN
END FUNCTION qleapyear
!
INTEGER FUNCTION idays_from_jan1(iyear, imonth, iday)
IMPLICIT NONE
INTEGER, INTENT(IN) :: iyear, imonth, iday
INTEGER :: i, ileap, n
ileap = 1
IF ( qleapyear(iyear) ) ileap = 2
n = 0
DO i = 1, imonth - 1
n = n + ndays_of_month(i, ileap)
END DO
idays_from_jan1 = n + iday
RETURN
END FUNCTION idays_from_jan1
END MODULE mod_subs




次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch