PROGRAM C1704A REAL X,Y,XMIN,YMIN,XMAX,YMAX,XW,YW DIMENSION X(10),Y(10) INTEGER I,ILEN,JLEN,N, IPOS, JPOS CHARACTER*40 DIAG(20) PARAMETER (ILEN=20,JLEN=40) OPEN(UNIT=7,FILE='C1704A.TXT') C GETTING THE DATA IN WRITE(UNIT=6,FMT=104) READ(UNIT=5,FMT=*)N WRITE(UNIT=6,FMT=101) N READ(UNIT=5,FMT=*)(X(I),Y(I),I=1,N) WRITE(UNIT=6,FMT=102) READ(UNIT=5,FMT=*)XMIN,XMAX WRITE(UNIT=6,FMT=103) READ(UNIT=5,FMT=*)YMIN,YMAX C CALCULATING SCALING CONSTANTS XW = (XMAX-XMIN)/(JLEN-1) YW = (YMAX-YMIN)/(ILEN-1) C INITIALISE THE CHARACTER STRING TO ALL BLANKS DO 1 I=1,ILEN DIAG(I)=' ' 1 CONTINUE DO 2 I=1,N JPOS=(X(I)-XMIN)/XW+1 IPOS=(Y(I)-YMIN)/YW+1 C ELIMINATING POINTS OUTSIDE THE DIAGRAM IF(IPOS.LT.1.OR.IPOS.GT.ILEN)THEN WRITE(UNIT=7,FMT=100) X(I),Y(I) ELSEIF(JPOS.LT.1.OR.JPOS.GT.JLEN)THEN WRITE(UNIT=7,FMT=100) X(I),Y(I) ELSE C THESE ARE INSIDE DIAG(21-IPOS)(JPOS:JPOS)='*' ENDIF 2 CONTINUE C NOW WRITE OUT THE COMPLETED DIAGRAM DO 3 I=1,ILEN WRITE(UNIT=7,FMT='(1X,'':'',A)') DIAG(I) 3 CONTINUE WRITE(UNIT=7,FMT='(1X,40(''-''))') CLOSE(UNIT=7) 100 FORMAT(' POINT OUT OF RANGE ',2F10.4) 101 FORMAT(' GIVE ',I5,' PAIRS OF POINTS,X-VALUE,Y-VALUE') 102 FORMAT(' GIVE MAXIMUM AND MINIMUM FOR X-VALUES') 103 FORMAT(' GIVE MAXIMUM AND MINIMUM FOR Y-VALUES') 104 FORMAT(' GIVE NUMBER OF PAIRS FOR PLOTTING') END