PROGRAM D13R17 C Driver for routine CRANK PARAMETER(NDAT=20,NMON=12) DIMENSION DATA(NDAT),RAYS(NDAT,NMON) DIMENSION ORDER(NDAT),AVE(NDAT),ZLAT(NDAT) CHARACTER CITY(NDAT)*15,MON(NMON)*4,TEXT*64 OPEN(5,FILE='TABLE2.DAT',STATUS='OLD') READ(5,*) READ(5,'(A)') TEXT READ(5,'(15X,12A4/)') (MON(I),I=1,12) DO 11 I=1,NDAT READ(5,'(A15,12F4.0,F6.0,F6.1)') * CITY(I),(RAYS(I,J),J=1,12),AVE(I),ZLAT(I) 11 CONTINUE CLOSE(5) WRITE(*,'(1X,A)') TEXT WRITE(*,'(1X,15X,12A4)') (MON(I),I=1,12) DO 12 I=1,NDAT WRITE(*,'(1X,A,12I4)') * CITY(I),(NINT(RAYS(I,J)),J=1,12) 12 CONTINUE C Replace solar flux in each column by rank order 1 WRITE(*,'(1X,A)') 'Number of month (1-12):' READ(*,*) MONTH IF(MONTH.EQ.0)STOP MONTH=MOD(MONTH+5,12)+1 DO 13 I=1,NDAT DATA(I)=RAYS(I,MONTH) ORDER(I)=I 13 CONTINUE CALL SORT2(NDAT,DATA,ORDER) CALL CRANK(NDAT,DATA,S) WRITE(*,*) 'Month of',MON(MONTH) WRITE(*,'(1X,A,T27,A,T36,A,T49,A)') 'City','Rank', * 'Solar Flux','Latitude' DO 14 I=1,NDAT NN=NINT(ORDER(I)) WRITE(*,'(1X,A,T19,3F12.1)') CITY(NN),DATA(I), * RAYS(NN,MONTH),ZLAT(NN) 14 CONTINUE GOTO 1 END