program Sortowanie;
uses crt;
type tablica = array[1..50] of integer;
var
dane : tablica;
MaxCounter,Counter : integer;
c : char;
procedure Linia;
begin
TextBackGround(1);
TextColor(15);
Write(' ');
TextBackGround(0);
Writeln;
end;
procedure WczytajArgumenty;
begin
ClrScr;
Write('Podaj liczbe elementow: ');
Readln(MaxCounter);
for Counter:= 1 to MaxCounter do
begin
Write('Podaj element (', Counter,'): ');
Readln(dane[Counter]);
end;
end;
procedure Wyswietldane;
begin
for Counter:=1 to MaxCounter do
begin
Writeln('Wartosc elementu (', Counter,'): ',dane[Counter]);
end;
end;
procedure WybieranieProste(var dane2 : tablica; MaxCounter2 : integer);
var
Counter,j,k,x: integer;
begin
for i:= Counter to MaxCounter2 - 1 do
begin
k:= Counter;
x:= dane2[Counter];
for j:= Counter +1 to MaxCounter2 do
if dane2[j] begin k:=j; x:= dane2[j]; end; dane2[k]:= dane2[Counter]; dane2[Counter]:=x; end; Wyswietldane; readkey; end; procedure Babelek(var dane3 : tablica; MaxCounter3 : integer); var Counter,j,x : integer; begin for Counter:=2 to MaxCounter3 do begin for j:= MaxCounter3 downto Counter do if dane3[j-1]> dane3[j] then begin x:= dane3[j-1]; dane3[j-1]:= dane3[j]; dane3[j]:=x; end; end; Wyswietldane; readkey; end; procedure Menu(var znak : char); begin ClrScr; Linia; Writeln; Writeln(' 1 - Wczytanie danych'); Writeln(' 2 - Sortowanie poprzez proste wybieranie); Writeln(' 3 - Sortowanie za pomoca metody babelkowej); Writeln; Writeln(' 0 - Wyjscie z programu'); repeat znak:=readkey; until znak in ['0'..'3']; end; begin repeat Menu(znak); case znak of '1' : WczytajArgumenty; '2' : WybieranieProste(a,n); '3' : Babelek(a,n); end; until znak ='0'; WybieranieProste(a,n); Babelek(a,n); end.