Очень срочно. даю 100 пунктов. Pascal ABC. Если не сдам, будет 3 за...

0 голосов
30 просмотров

Очень срочно. даю 100 пунктов.

Pascal ABC.

Если не сдам, будет 3 за четверть((((((((((((((

Написать программу, которая сортирует массив ПО УБЫВАНИЮ и ищет в нем элемент, равный X (это число вводится с клавиатуры). Использовать двоичный поиск.


Информатика (1.2k баллов) | 30 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

var
l, i , n, z, j,r,m, key: integer;
a: array [1..100] of integer;

begin
readln(key, n);
for i := 1 to n do
read(a[i]);
for i := 1 to n-1 do
for j := i to n do
if a[i] < a[j] then
begin
z := a[i];
a[i] := a[j];
a[j] := z
end;

l := 1;
r := n + 1;
While l < r - 1 do
begin
m := (l + r) div 2;
if a[m] < key then r := m
else l := m;
end;
if a[l] = key then WriteLn(l);
end.

(807 баллов)