Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.12 KB | None | 0 0
  1. program Project1;
  2.  
  3.  
  4. uses
  5.   SysUtils;
  6.  
  7. var
  8.     T:array[0..4] of integer;
  9.     i:integer;
  10. procedure babelkowe(var tab:array of integer);
  11. var i,j,n,k,temp:integer;
  12. begin
  13.      n := length(tab);
  14.      k := n;
  15.      for i:=0 to n-2 do
  16.          begin
  17.               for j := 0 to k-2 do
  18.                   if (tab[j]>tab[j+1])
  19.                   then
  20.                       begin
  21.                            temp:=tab[j];
  22.                            tab[j]:=tab[j+1];
  23.                            tab[j+1]:=temp;
  24.                       end;
  25.               k := k-1;
  26.          end;
  27. end;
  28.  
  29. procedure insertsort(var tab:array of integer);
  30. var i,j,n,temp:integer;
  31. begin
  32.     n := length(tab);
  33.     for i:=1 to n-1 do
  34.         begin
  35.         j := i;
  36.         temp := tab[j];
  37.         while (temp < tab[j-1]) and (j>0) do
  38.             begin
  39.             tab[j] := tab[j-1];
  40.             dec(j);
  41.                     end;
  42.         tab[j] := temp;
  43.         end
  44. end;
  45.  
  46. procedure selectionsort(var tab:array of integer);
  47. var i,j,n,temp,index,k:integer;
  48. begin
  49.     n := length(tab);
  50.     k := n-1;
  51.     for i:=0 to n-2 do
  52.         begin
  53.         index := 0;
  54.         for j:=1 to k do
  55.             if (tab[j] >= tab[index])
  56.         then index := j;
  57.         temp := tab[k];
  58.         tab[k] := tab[index];
  59.             tab[index] := temp;
  60.         dec(k);
  61.         end;       
  62. end;   
  63.  
  64. procedure quicksort(var tab:array of integer; l:integer; r:integer);
  65. var i,j,med,q,temp:integer;
  66. begin
  67.  
  68.     if (l < r) then
  69.         begin
  70.             i := l-1;
  71.             j := r+1;
  72.             med := tab[l];
  73.             while (i < j) do
  74.                 begin
  75.                     repeat
  76.                         inc(i);
  77.                     until(med <= tab[i]);
  78.                     repeat
  79.                         dec(j);
  80.                     until(med >= tab[j]);
  81.                     if(i <= j) then
  82.                         begin
  83.                             temp := tab[i];
  84.                             tab[i] := tab[j];
  85.                             tab[j] := temp;
  86.                         end;
  87.                 end;
  88.             if(i < j) then
  89.                 begin
  90.                         temp := tab[i];
  91.                         tab[i] := tab[j];
  92.                         tab[j] := temp;
  93.                 end;
  94.             q := j;
  95.             quicksort(tab, l, q);
  96.             quicksort(tab, j+1, r);
  97.         end;
  98. end;
  99. begin
  100.      for i:=0 to 4 do
  101.          readln(T[i]);
  102.      for i:=0 to 4 do
  103.          write(T[i]:4);
  104.  
  105.      quicksort(T, 0, 4);
  106.      writeln;
  107.  
  108.      for i:=0 to 4 do
  109.          write(T[i]:4);
  110.  
  111.      readln;
  112. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement