Advertisement
Guest User

lab3

a guest
Dec 7th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. Program lab3;
  2. const
  3. n = 10;
  4. type
  5. Arr = array[1..n] of integer;
  6. var
  7. A: Arr = (1,2,3,4,5,6,7,8,9,10);
  8. B: Arr = (1,2,3,4,5,6,7,8,9,10);
  9. C: Arr = (1,2,3,4,5,6,7,8,9,10);
  10. i, j, k, buf, min, nmin: integer;
  11. fl: boolean;
  12.  
  13.  
  14. Procedure Vyvod(mas: Arr);
  15. var
  16. k: integer;
  17. begin
  18. for k:=1 to n do
  19. write (mas[k], ' ');
  20. writeln();
  21. writeln();
  22. end;
  23.  
  24. BEGIN
  25. // Пузырек
  26. Vyvod(A);
  27. fl := true;
  28. while (fl = true) do
  29. begin
  30. fl := false;
  31. for i:=1 to n-1 do
  32. if (A[i]<A[i+1]) then
  33. begin
  34. buf := A[i];
  35. A[i] := A[i+1];
  36. A[i+1] := buf;
  37. fl := true;
  38. end;
  39. end;
  40. Vyvod(A);
  41.  
  42. //=================
  43. // Выбора
  44. Vyvod (B);
  45. k:=0; //сколько нужных чисел стоит на правильном месте
  46. while (k <>n) do
  47. begin
  48. min:=B[1];
  49. nmin := 1;
  50. for i:=1 to n-k do
  51. if (min > B[i]) then
  52. begin
  53. min := B[i];
  54. nmin := i;
  55. end;
  56. B[nmin] := B[n-k];
  57. B[n-k] := min;
  58. k := k + 1;
  59. end;
  60. Vyvod (B);
  61.  
  62. //=================
  63. // Вставки
  64. Vyvod (C);
  65. for i:=1 to n-1 do
  66. begin
  67. k := i + 1;
  68. buf := C[k];
  69. for j:=i+1 downto 2 do
  70. begin
  71. if (buf > C[j-1]) then
  72. begin
  73. C[j] := C[j-1];
  74. k := j - 1;
  75. end;
  76. end;
  77. C[k] := buf;
  78. end;
  79. Vyvod (C);
  80.  
  81.  
  82. END.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement