26.05.2020, 09:45 [+3 UTC]
в нашей команде: 4 551 чел. | участники онлайн: 4 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.89 (25.04.2020)
JS-v.1.45 | CSS-v.3.39

Общие новости:
13.04.2020, 00:02

Форум:
25.05.2020, 14:36

Последний вопрос:
26.05.2020, 08:33
Всего: 152478

Последний ответ:
26.05.2020, 09:31
Всего: 260193

Последняя рассылка:
25.05.2020, 22:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
21.06.2010, 23:01 »
lamed
Большое спасибо! Есть поле для размышлений smile [вопрос № 179177, ответ № 262218]
22.10.2009, 21:33 »
Яна
Спасибо большое за оперативность! [вопрос № 173576, ответ № 255725]
02.03.2019, 12:12 »
dar777
Это самое лучшее решение! [вопрос № 194819, ответ № 277564]

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 433
Delph
Статус: 3-й класс
Рейтинг: 316
puporev
Статус: Профессор
Рейтинг: 160

Перейти к консультации №:
 

Консультация онлайн # 197129
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: dkhrebtovich (Посетитель)
Отправлена: 18.11.2019, 16:34
Поступило ответов: 1

Уважаемые эксперты! Пожалуйста, ответьте на вопрос: Бинарный поиск Элемент с заданным ключом (значением)



Приложение:

Состояние: Консультация закрыта

Ответ # 279128 от puporev (Профессор)

Здравствуйте, dkhrebtovich!

Код (Pascal) :: выделить код
var  a,z:array [1..100] of integer;
     n,k,i,first,last,mid,x:integer;
begin
randomize;
repeat
write('Введите размер массива от 3 до 100 n=');
readln(n);
until n in [3..100];
//создаем упорядоченный массив(по возрастанию, можно наоборот)
for i:=1 to n do
 begin
  if i=1 then a[i]:=1
  else a[i]:=a[i-1]+1+random(3);
  write(a[i]:4);
 end;
writeln;
write('Введите число для поиска в массиве x=');
readln(x);
first:=1;
last:=n+1;
while first <> last do
 begin
  mid:=first+(last-first) div 2;
  if x<=a[mid] then last:=mid
  else first:=mid+1;
 end;
if a[last]=x then writeLn('Число ',x,' есть в массиве')
else writeLn('Числа ',x,' нет в массиве');
end.


Консультировал: puporev (Профессор)
Дата отправки: 19.11.2019, 06:01

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.13252 сек.

© 2001-2020, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.89 от 25.04.2020
Версия JS: 1.45 | Версия CSS: 3.39