Annotation of 43BSDTahoe/ucb/pascal/tstpx/src/sequin.p, revision 1.1

1.1     ! root        1: {$p+}
        !             2: program initable(input,output);
        !             3: type  counter=0..4;
        !             4:       object=1..4;
        !             5:       container=set of object;
        !             6:       row=array[1..4]of 1..4;
        !             7: var   sol:row; i,j,k:integer;
        !             8:       table:array[1..24]of row;
        !             9: 
        !            10:     procedure select(bag:container; sample,drawn:counter);
        !            11:     {Generation of permutations in lexicographic order,
        !            12:     adapted from Grogono, page 134.}
        !            13:     var  ball:object;
        !            14:     begin
        !            15:     if drawn<sample then
        !            16:        for ball:=1 to 4 do
        !            17:            if ball in bag then begin sol[drawn+1]:=ball;
        !            18:                                select(bag-[ball],sample,drawn+1)
        !            19:                                end;
        !            20:     if drawn=sample then begin table[k]:=sol; k:=k+1 end
        !            21:     end; {of select}
        !            22:     
        !            23: begin {of initable}
        !            24:     k:=1;
        !            25:     select([1..4],4,0);
        !            26:     for i := 1 to k-1 do begin
        !            27:        write('table[', i:1, '] = ');
        !            28:        for j := 1 to 4 do
        !            29:            write(table[i][j]);
        !            30:        writeln;
        !            31:        end;
        !            32: end.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.