Contributor: SWAG SUPPORT TEAM 
{>it. While I'm at it, does anyone have any ideas For an algorithm to generate>and test all possible combinations of a group of letters For Real Words.
I'm sure it wouldn't take long to modify this Program I wrote, which
produces all combinations of "n" numbers.
I got the idea from "Algorithms", by Robert Sedgewick. Recommended.
}
Program ShowPerms;
Uses
 Crt;
Const
 digits = 4; {How many digits to permute: n digits = n! perms!}
Var
 PermArray : Array [1..digits] of Byte; {Permutation holder}
 ThisDigit : Integer;
Procedure WritePerm;
Var
 loop : Byte;
begin
 For loop := 1 to 4 do
 Write(PermArray[loop]);
 Writeln;
end;
Procedure PermuteAtLevel(Level : Integer);
Var
 loop : Integer;
begin
 inc(ThisDigit);
 PermArray[Level] := ThisDigit;
 if ThisDigit = digits then
 Writeperm; {if we've accounted For all digits}
 For loop := 1 to digits do
 if PermArray[loop] = 0 then
 PermuteAtLevel(loop);
 dec(ThisDigit);
 PermArray[Level] := 0;
end;
begin
 ClrScr;
 ThisDigit := -1; {Left of Left-hand-side}
 FillChar (PermArray, sizeof(PermArray),#0); {Make it zeroes}
 PermuteAtLevel(0); {Start at the bottom}
end.
- 

AltStyle によって変換されたページ (->オリジナル) /