C COMPF.FTN C C A SUBROUTINE TO TAKE THE PLACE OF COMPR.MAC WHICH IS GIVING SOME C TROUBLE. THE ONLY DIFFERENCE IS THAT IN THIS SUBROUTINE, THE C ARRAYS BEING SUBMITTED FOR COMPARISON MUST HAVE 10 CHARACTERS C AFTER WORKING WITH THIS, IT APPEARS THAT THERE WAS NOTHING WRONG C WITH COMPAR BUT THE TROUBLE WAS WITH SCOPY. C INTEGER FUNCTION COMPF(A,B,CHAR,ROW) BYTE A(10),B(10) INTEGER ROW,CHAR INTEGER COMPF DO 200 I=1,CHAR IF(A(I).EQ.0)GO TO 110 C IF(A(I).LT."40)GO TO 130 ! THIS IS AN ILLEGAL CHARACTER C TEMPORARILY REMOVE THE ABOVE. HOPEFULLY PUT IT BACK IN 110 IF(A(I).GT."140)A(I)=A(I)-"40 ! CHANGE SMALL LETTER TO CAP LETTER IF(B(I).EQ.0)GO TO 120 IF(B(I).GT."140)B(I)=B(I)-"40 ! CHANGE SMALL LETTER TO CAP LETTER C IF(B(I).LT."40)GO TO 150 !THIS IS AN ILLEGAL CHARACTER C TEMPORARILY REMOVE 120 IF(A(I).GT.B(I))GO TO 210 ! THE FIRST ARRAY IS BIGGER IF(B(I).GT.A(I))GO TO 230 ! THE SECOND ARRAY IS BIGGER GO TO 200 130 J=A(I) WRITE(5,135)J,A,ROW 135 FORMAT(' AN ILLEGAL CHAR:',I4,' WAS FOUND IN ARRAY ',9A1, 1' FROM ROW',I5) GO TO 110 150 J=B(I) WRITE(5,155)J,B,ROW 155 FORMAT(' AN ILLEGAL CHAR:',I4,' WAS FOUND IN ARRAY ',9A1, 1' FROM ROW',I5) GO TO 110 GO TO 120 200 CONTINUE COMPF=0 ! THE TWO ARRAYS ARE EQUAL RETURN 210 COMPF=1 ! THE FIRST ARRAY IS BIGGER RETURN 230 COMPF=2 ! THE 2ND ARRAY IS BIGGER RETURN END