class GEN_PERM creation {ANY} make feature {ANY} make is local p : ARRAY[INTEGER] used : ARRAY[BOOLEAN] do io.put_string("%N Enter size of Perm. ") io.read_integer !!p.make(1,io.last_integer) !!used.make(1, io.last_integer) io.put_string("%N The Permutations are: %N") All_Perms(1) end -- make All_Perms(k:INTEGER) is local j : INTEGER do if k > p.size then Print_Perm else from j := 1 until j > p.size loop if not used.item(j) then p.put(j,k) used.put(true,j) All_Perms(k+1) used.put(false,j) end j := j+1 end -- loop end end -- All_Perms Print_Perm is local k : INTEGER do from k := 1 until k > p.size loop io.put_integer(p.item(k)) io.putchar(' ') k := k+1 end io.new_line end -- Print_Perm end -- Gen_Perm