Advertisement
r4lovets

Untitled

Jun 13th, 2019
473
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.06 KB | None | 0 0
  1. program Permutations;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. {$R *.res}
  6.  
  7. uses
  8.   System.SysUtils;
  9.  
  10. const
  11.   n = 5; // Кол-во элементов массива
  12.  
  13. type
  14.   TArray = Array[1..n] of Integer;
  15.  
  16. var
  17.   A: TArray;
  18.   i, j: Integer;
  19.   f: Text;
  20.  
  21. procedure FillArray(var A: TArray);
  22.  
  23. var
  24.   i: Integer;
  25.  
  26. begin
  27.   for i := 1 to n do
  28.     A[i] := i;
  29. end;
  30.  
  31. procedure Swap(var x, y: Integer);
  32.  
  33. var
  34.   temp: Integer;
  35.  
  36. begin
  37.   temp := x;
  38.   x := y;
  39.   y := temp;
  40. end;
  41.  
  42. procedure Generate(var A: TArray; k: Integer);
  43.  
  44. var
  45.   i: Integer;
  46.   str: String;
  47.  
  48. begin
  49.   if k = n then
  50.     begin
  51.       for i := 1 to n do
  52.         begin
  53.           str := IntToStr(A[i]) + ' ';
  54.           Write(str);
  55.           Write(f, str);
  56.         end;
  57.       Writeln;
  58.       Writeln(f, '');
  59.     end
  60.   else
  61.     for i := k + 1 to n do
  62.       begin
  63.         Swap(A[k + 1], A[i]);
  64.         Generate(A, k + 1);
  65.         Swap(A[k + 1], A[i]);
  66.       end;
  67. end;
  68.  
  69. begin
  70.   Assign(f, 'info.txt');
  71.   Rewrite(f);
  72.  
  73.   FillArray(A);
  74.   Generate(A, 0);
  75.  
  76.   CloseFile(f);
  77.   Readln;
  78.   end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement