ВОТ МОЯ ПРОГРАММА
Код:
Program Kurs;
uses crt;
const n = 10;
type Mas = array [1..n] of integer;
var
a: Mas;
K: char;
Procedure Menu;
begin
ClrScr;
WriteLn ('Выберете метод сортировки: ');
writeln ('1. Пузырьком');
writeln ('2. Выбором');
writeln ('3. Вставкой');
writeln ('4. Быстрая сортировка');
writeln ('0. Выйти из программы');
writeln ('');
Writeln;
Write (': > ');
end;
Procedure ZapMas;
var i: integer;
begin
ClrScr;
Randomize;
Writeln ('Исходный массив: ');
for i:=1 to n do
begin
a [i]:= random (20) - 10;
write (a [i]: 3,' ');
end;
Writeln;
end;
procedure Bubble (var item: Mas); {puzirkom}
var
i,j: integer;
x: integer;
begin
for i:=2 to n do
begin
for j:=n downto i do
if item [j-1] >item [j] then
begin
x:=item [j-1];
item [j-1]:= item [j];
item [j]:= x;
end;
end;
end;
procedure Selekt (var item: Mas); { viborom}
var
i, j, k: integer;
x: integer;
begin
for i:= i to n-1 do
begin
k:=i;
x:=item [i];
for j:= i+1 to n do
if item [j] <x then
begin
k:=j;
x:=item [j];
end;
item [k]:=item [i];
item [i]:=x;
end;
end;
procedure Insert (var item: mas); {vstavkoy}
var
i, j: integer;
x: integer;
begin
for i:=2 to n do
begin
x:=item [i];
j:=i-1;
while (x<item [j]) and (j>0) do
begin
item [j+1]:=item [j];
j:=j-1;
end;
item [j+1]:=x;
end;
end;
procedure sort(l,r:integer); {l????? ????? ??????,r-?????? ?????}
var
i,j,x1,y1,m: integer;
begin
i:=l;
j:=r;
m:=round ((l+r)/2);{??????? ???????}
x1:=a[m];
repeat
while a[i]<x1 do inc(i);{???? ????? ?????? ????????, ????????? ????? ???? ?????? }
while a[j]>x1 do dec(j);{???? ?????? ?????? ????????, ????????? ????? ??????}
if i<=j then {???? ????? ? ?????? ????????}
begin
y1:=a[i];
a[i]:=a[j];{?????? ????? ? ??????}
a[j]:=y1;
inc(i); {????? ??????}
dec(j); {?????? ?????}
end;
until i>j;{????? ????? ????????????}
if l<j then sort(l,j);{?????????? ?????????}
if i<r then sort(i,r);{??? ????? ??? ?????? ?????}
end;
procedure outmas;
var i: integer;
begin
Writeln ('Отсортированный: ');
for i:= 1 to n do
Write (a [i]: 3,' ');
Writeln;
end;
begin
Menu;
k:='-';
Repeat
if keypressed then
begin
k:= readkey;
case k of
'1': begin
ZapMas;
Bubble (a);
OutMas;
Readln;
Menu;
end;
'2': begin
ZapMas;
Selekt (a);
OutMas;
Readln;
Menu;
end;
'3': begin
ZapMas; Insert (a);
OutMas;
Readln;
Menu;
end;
'4': begin
ZapMas;
sort(1,n);
OutMas;
Readln;
Menu;
end;
end;
end;
until k='0';
end.
ГДЕ ИМЕННО МНЕ НУЖНО ВСТАВИТЬ ВОТ ЭТУ ЧАСТЬ(ТАЙМЕР):
program Time;
var
ts : System.TimeSpan;
// Sto9pwatch - класс высокоточного таймера (с точностью до 0.001 с)
begin
var stopWatch := new System.Diagnostics.Stopwatch;
stopWatch.Start;
{Участок кода, для которого будет замеряться время выполнения}
stopWatch.Stop;
ts := stopWatch.Elapsed;
writelnFormat('Время работы: {0:00}:{1:00}:{2:00}.{3:000}',ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds);
end.