C OHJELMA ON TEHTY 4.7.1993 SUO1-KURSSIN LEIMAUSHARJOITUKSEN TARKISTUSTA C VARTEN. KUSTAA SEPPALAN LEIMAUSKOEALAT OVAT PILKOTTU JA KOTISUO. C OHJELMA TARKISTAA LEIMAUSTIEDOSTOSTA (POISTETTAVIEN PUIDEN NUMEROT) C LEIMAAJAN TULOKSEN JOKA VOI OLLA MAKSIMISSAAN 100 PISTETTA. TULOSTAA C SUKUNIMI.TUL TIEDOSTOON VIRHEELLISESTI JATETTYJEN JA POISTETTUJEN PUIDEN C MAARAN JA NUMEROT SEKA LEIMAAJAN TULOKSEN C TAMAN OHJELMAN POISTO JA JAAVA TAULUKOT KOTISUON KOEALALLE INTEGER POISTO(40),JAAVA(60),LEIMA(100),VPOIST,VJAT,TULOS, *PVIRHE(50),JVIRHE(50) CHARACTER APU*3,APU1*8,APU2*8,APU3*12,APU4*20,NIMI*12,TIEDOSTO*20 C POISTO-TAULUKOSSA OVAT MALLILLEIMAUKSEN MUKAISET POISTETTAVIEN PUIDEN NUMEROT DATA POISTO/2,3,5,7,9,10,11,13,20,26,28,32,36,39,40,43,46,47, *49,52,55,58,59,60,62,64,66,67,70,74,76,79,81,83,84,86,89,91, *94,97/ C JAAVA-TAULUKOSSA MALLILEIMAUKSEN MUKAISET JATETTAVIEN PUIDEN NUMEROT DATA JAAVA/1,4,6,8,12,14,15,16,17,18,19,21,22,23,24,25,27,29, *30,31,33,34,35,37,38,41,42,44,45,48,50,51,53,54,56,57,61,63,65, *68,69,71,72,73,75,77,78,80,82,85,87,88,90,92,93,95,96,98,99,100/ N=0 WRITE (6,*) ' TALLA OHJELMALLA KOTISUON LEIMAUSTULOS' WRITE (6,*) ' ANNA LEIMAUSTIEDOSTOSI (SUKUNIMI.KAT) NIMI>' READ (5,'(A)') APU3 APU1(1:8)='C:\SUO1\' APU4(1:20)=APU1(1:8)//APU3(1:12) OPEN (3,FILE=APU4,STATUS='OLD') 1 CONTINUE N=N+1 READ (3,'(A)',END=100) APU READ (APU,52) LEIMA(N) 52 FORMAT (I3) GOTO 1 100 CONTINUE N=N-1 C DUPLIKAATTIEN TARKISTAMINEN DO 86 M=1,N-1 DO 87 IM=2,N IF (M.GE.IM) GOTO 87 IF (LEIMA(M).EQ.LEIMA(IM)) GOTO 99 87 CONTINUE 86 CONTINUE C WRITE (6,*) 'ANNA TULOSTUSTIEDOSTO SUKUNIMI.KTI >' C READ (5,'(A)') NIMI C APU2(1:8)='C:\SUO1\' C TIEDOSTO(1:20)=APU2(1:8)//NIMI(1:12) C OPEN(11,FILE=TIEDOSTO,STATUS='NEW') C LASKETAAN VAARIN POISTETUT VPOIST=0 DO 12 I=1,N IX=0 DO 13 J=1,40 IF (LEIMA(I).EQ.POISTO(J)) IX=IX+1 13 CONTINUE IF(IX.EQ.0) THEN VPOIST=VPOIST+1 PVIRHE(VPOIST)=LEIMA(I) END IF 12 CONTINUE C LASKETAAN VAARIN JATETYT VJAT=0 DO 14 I=1,40 JX=0 DO 15 J=1,N IF (POISTO(I).EQ.LEIMA(J)) JX=JX+1 15 CONTINUE IF(JX.EQ.0) THEN VJAT=VJAT+1 JVIRHE(VJAT)=POISTO(I) END IF 14 CONTINUE TULOS=100-(VJAT+VPOIST) WRITE (6,'(A)') ' KOTISUO ' WRITE (6,'(A)') ' ' WRITE (6,98) ' POISTIT VAARIN ',VPOIST,' KPL PUITA' 98 FORMAT (A17,I3,A10) WRITE (6,'(A)') ' VAARIN POISTETTUJEN PUIDEN NUMEROT OVAT' DO 67 I=1,VPOIST,4 WRITE (6,22) PVIRHE(I),PVIRHE(I+1),PVIRHE(I+2),PVIRHE(I+3) 22 FORMAT (2X,I3,3X,I3,3X,I3,3X,I3) 67 CONTINUE WRITE (6,98) ' JATIT VAARIN ',VJAT, ' KPL PUITA ' WRITE (6,'(A)') ' VAARIN JATETTYJEN PUIDEN NUMEROT OVAT' DO 68 I=1,VJAT,4 WRITE (6,22) JVIRHE(I),JVIRHE(I+1),JVIRHE(I+2),JVIRHE(I+3) 68 CONTINUE WRITE (6,23) ' TULOKSESI ON ',TULOS 23 FORMAT (A20,I3) GOTO 5 99 CONTINUE WRITE (6,*) 'TIEDOSTOSSA VIKAA; SAMA NUMERO KAHDESTI TAI' WRITE (6,*) 'SUKUNIMI.DAT LOPUSSA YLIMAARAISIA TYHJIA RIVEJA' 5 CONTINUE END