Pascal. Бинарный поиск
Добавлено: 30 ноя 2008, 14:29
Привет всем!! Помогите пожалуйста с Паскалем! Определить индекс элемента массива A[15], равного введеному числу, методом бинарного поиска.
Код: Выделить всё
const
N=15;
A:array[1..N] of integer =(1,5,12,15,16,18,33,34,36,39,40,44,45,46,50);
var
i,v,left,right,middle:integer;
begin
writeln('The source array is:');
for i:=1 to N-1 do write(A[i],', ');
writeln(A[N],'.');
write('Input a value for searching: ');
readln(v);
left:=1;
right:=N;
repeat
middle:=left+(right-left) div 2;
if v<A[middle] then right:=middle else left:=middle;
writeln('It should be somewere between ',left,' and ', right);
until right-left<=1;
if v=A[align=left] then writeln('Requested value was found at position ',left)
else if v=A[align=right] then writeln('Requested value was found at position ',right)
else writeln('Requested value is NOT found');
readln;
end.