PROGRAM PERMUTATIONEN(INPUT,OUTPUT); VAR I,N: INTEGER; C: ARRAY[1..10] OF INTEGER; FUNCTION FAK(N: INTEGER): INTEGER; BEGIN IF N=1 THEN FAK := 1 ELSE FAK := N*FAK(N-1) END (* FAK *); PROCEDURE WRITEPERMUTATION; VAR I: INTEGER; BEGIN WRITE(" ":10); FOR I := 1 TO N DO WRITE( C[I] :3); WRITELN END (* WRITEPERMUTATION *); PROCEDURE NEXTPERMUTATION; VAR I,J,H: INTEGER; BEGIN I := N-1; WHILE C[I]>C[I+1] DO I := I-1; J := N; WHILE C[J]