Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var
- a: array[1..10] of integer;
- i, med, l, r, isk: integer;
- procedure qsort(First, Latest: integer);
- var
- l, r, med, local: integer;
- begin
- if first < latest then
- begin
- med := a[(first + latest) div 2];
- l := first;
- r := latest;
- while l <= r do
- begin
- while a[l] < med do
- l := l + 1;
- while a[r] > med do
- r := r - 1;
- if l <= r then
- begin
- local := a[l];
- a[l] := a[r];
- a[r] := local;
- inc(l);
- dec(r);
- end;
- end;
- qsort(first, r);
- qsort(l, latest);
- end;
- end;
- begin
- writeln('Введите 10 элементов массива');
- for i := 1 to 10 do
- readln(a[i]);
- Qsort(1, 10);
- writeln('отсортированный массив: ');
- for i := 1 to 10 do
- write(a[i], ' ');
- writeln('введите искомый элемент');
- readln(isk);
- l := 1;
- r := 10;
- while l < r do
- begin
- med := (l + r) div 2;
- if a[med] < isk then
- l := med + 1
- else r := med;
- end;
- if (r <> 10) or ((r = 10) and (a[10] = isk)) then
- writeln('искомый элемент найден под номером ', r)
- else
- writeln('искомый элемент не найден :( ');
- end.
Add Comment
Please, Sign In to add comment