Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Project1;
- {$APPTYPE CONSOLE}
- uses
- SysUtils,Math;
- type
- TPerm = array of integer;
- var
- i,j,Range, Temp, First, Prev, Next : integer;
- TopArr, InitArr, CycleArr: TPerm;
- AllChainF: boolean = false;
- begin
- Randomize;
- Range := 6; //RandomRange(4, 10);
- SetLength(TopArr, Range);
- SetLength(InitArr, Range);
- for i:= 0 to high(TopArr) do
- begin
- TopArr[i] := i;
- Write(' ',TopArr[i],' ');
- InitArr[i] := i;
- end;
- Writeln;
- for i:= high(InitArr) downto 1 do
- begin
- j:= RandomRange(0, i+1);
- temp:= InitArr[j];
- InitArr[j] := InitArr[i];
- InitArr[i] := temp;
- end;
- for i:= 0 to high(InitArr) do
- write(' ',InitArr[i],' ');
- Writeln;
- Writeln;
- while AllChainF = false do
- begin
- AllChainF := true;
- for i:= 0 to high(TopArr) do
- if TopArr[i] <> -1 then
- begin
- AllChainF := false;
- First := TopArr[i];
- Write('( ',First,' ');
- Next := InitArr[i];
- TopArr[i] := -1;
- break;
- end;
- while First <> Next do
- begin
- for j:= 0 to high(TopArr) do
- begin
- if Next = TopArr[j] then
- begin
- Write(' ',Next,' ');
- Next := InitArr[j];
- TopArr[j] := -1;
- end;
- end;
- end;
- if (First = Next) and (AllChainF = false) then
- Write(')');
- end;
- Writeln;
- Readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement