* M01NCF Example Program Test * NAG COPYRIGHT 2008. IMPLICIT NONE * .. Parameters .. INTEGER NIN, NOUT PARAMETER (NIN=5,NOUT=6) INTEGER CHMAX PARAMETER (CHMAX=100) * .. Local Scalars .. INTEGER I, IFAIL, INDEX, LENCH LOGICAL FIRST CHARACTER*6 ITEM * .. Local Arrays .. CHARACTER*6 CH(CHMAX) * .. External Functions .. INTEGER M01NCF EXTERNAL M01NCF * .. Executable Statements .. WRITE (NOUT,*) 'M01NCF Example Program Results' WRITE (NOUT,*) * * Read in Reference Vector CH READ (NIN,*) READ (NIN,*) LENCH IF (LENCH.LE.CHMAX) THEN READ (NIN,*) (CH(I),I=1,LENCH) * * Read items sought in the reference vector FIRST = .TRUE. 20 READ (NIN,'(A)',END=40) ITEM * IFAIL = 1 INDEX = M01NCF(FIRST,CH,1,10,ITEM,IFAIL) * IF (IFAIL.EQ.0) THEN IF (FIRST) THEN * Print the reference vector WRITE (NOUT,*) 'Reference Vector is:' WRITE (NOUT,99999) (CH(I),I=1,LENCH) FIRST = .FALSE. END IF * WRITE (NOUT,*) WRITE (NOUT,99998) ITEM, INDEX GO TO 20 ELSE WRITE (NOUT,99997) IFAIL END IF ELSE WRITE (NOUT,99996) CHMAX, LENCH END IF 40 CONTINUE * 99999 FORMAT (10(1X,A)) 99998 FORMAT (1X,'Search for item ',A,' returned index: ',I4) 99997 FORMAT (1X,'** M01NCF returned with IFAIL = ',I5) 99996 FORMAT (1X,'** Length of reference vector = ',I4,' but must not ', + 'exceed ',I3) END