«

»

Pascal. Массивы. Задача 14

Составьте программу, которая методом двоичного поиска проверяет наличие искомого элемента в массиве.

Решение:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
program arrays_14;
uses crt;
var i, n, key, a, b, c: integer;
x: boolean; mas: array[1..100] of integer;
begin
write('Размер массива > '); read(n);
write('Искомый элемент > ');
read(key);
for i:=1 to n do
begin
mas[i]:=i*n;
write(mas[i],' ');
end;
a:=1; b:=n; x:=false;
while a<=b do
begin
c:=a+(b-a) div 2;
if (key<mas[c]) then
b:=c-1
else if (key>mas[c]) then
a:=c+1
else
begin x:=true; break; end;
end;
if (x=true) then writeln('Элемент найден')
else write('Элемент не найден');
end.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вы можете использовать эти теги HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Проверка на человечность *