Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program p24112014;
- uses
- DOS, crt;
- const
- n = 100;
- type
- TabInt = array [1..n] of integer;
- var
- tab : TabInt;
- //*************************************************
- // Fill the TabInt array with random elements
- //*************************************************
- procedure RandomElements( var t : TabInt );
- var
- i : integer;
- begin
- randomize;
- for i := 1 to n do
- begin
- t[i] := random(99)+1;
- end;
- end;
- //*************************************************
- // Display the TabInt array
- //*************************************************
- procedure DisplayArray( t : TabInt );
- var
- i : integer;
- begin
- for i := 1 to n do
- begin
- write(t[i], ' ');
- end;
- writeln;
- end;
- //*************************************************
- // Swap elements
- //*************************************************
- procedure swap( var a : integer; var b : integer );
- var
- tmp : integer;
- begin
- tmp := a;
- a := b;
- b := tmp;
- end;
- //*************************************************
- // Selection Sort
- //*************************************************
- procedure SelectionSort( var t : TabInt );
- var i, j, k : integer;
- begin
- for i := 1 to n do
- begin
- k := i;
- for j := i+1 to n do
- begin
- if t[j] < t[k] then k := j;
- end;
- swap( t[k], t[i] );
- end;
- end;
- //*************************************************
- // Insert Sort
- //*************************************************
- procedure InsertSort( var t : TabInt );
- var
- i, j, x : integer;
- begin
- for j := n-1 downto 1 do
- begin
- x := t[j];
- i := j + 1;
- while ( i <= n ) and ( x > t[i] ) do
- begin
- t[i-1] := t[i];
- i := i + 1;
- end;
- t[i-1] := x;
- end;
- end;
- //*************************************************
- // Bubble Sort
- //*************************************************
- procedure BubbleSort( var t : TabInt );
- var
- i, j : integer;
- p : boolean;
- begin
- for i := 1 to n do
- begin
- p := true;
- for j := 1 to n-i do
- begin
- if t[j] > t[j+1] then
- begin
- swap( t[j], t[j+1] );
- p := false
- end;
- end;
- if ( p = true ) then break
- end;
- end;
- //*************************************************
- // Main Function
- //*************************************************
- begin
- RandomElements( tab );
- writeln('Tablica przed posortowaniem');
- writeln;
- DisplayArray( tab );
- writeln;
- BubbleSort( tab );
- writeln('Tablica po posortowaniu');
- writeln;
- DisplayArray( tab );
- writeln;
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement