home *** CD-ROM | disk | FTP | other *** search
- PROGRAM d8r11(input,output);
- (* driver for routine ECLAZZ *)
- CONST
- n=15;
- TYPE
- glnarray = ARRAY [1..n] OF integer;
- VAR
- i,j,k,lclas,nclass : integer;
- nf,nflag,nsav : glnarray;
-
- FUNCTION equiv(i,j: integer): boolean;
- BEGIN
- equiv := FALSE;
- IF ((i MOD 4) = (j MOD 4)) THEN equiv := TRUE
- END;
-
- (*$I MODFILE.PAS *)
- (*$I ECLAZZ.PAS *)
-
- BEGIN
- eclazz(nf,n);
- FOR i := 1 to n DO BEGIN
- nflag[i] := 1
- END;
- writeln;
- writeln('Numbers from 1-15 divided according to');
- writeln('their value modulo 4:');
- lclas := 0;
- FOR i := 1 to n DO BEGIN
- nclass := nf[i];
- IF (nflag[nclass] <> 0) THEN BEGIN
- nflag[nclass] := 0;
- lclas := lclas+1;
- k := 0;
- FOR j := i to n DO BEGIN
- IF (nf[j] = nf[i]) THEN BEGIN
- k := k+1;
- nsav[k] := j
- END
- END;
- write('Class',lclas:2,': ');
- FOR j := 1 to k DO write(nsav[j]:3);
- writeln
- END
- END
- END.
-