06.12.2019, 01:27 [+3 UTC]
в нашей команде: 4 032 чел. | участники онлайн: 3 (рекорд: 21)

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

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

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.78 (18.11.2019)
JS-v.1.34 | CSS-v.3.35

Общие новости:
28.04.2019, 09:13

Форум:
29.11.2019, 17:59

Последний вопрос:
05.12.2019, 11:01
Всего: 151176

Последний ответ:
05.12.2019, 15:20
Всего: 259536

Последняя рассылка:
05.12.2019, 15:45

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

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

Наша кнопка:

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

Отзывы о нас:
20.06.2010, 20:14 »
Васильев Александр Геннадьевич
Спасибо за ответ. Будем смотреть конфигурации. [вопрос № 179165, ответ № 262195]

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

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

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

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

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 693
puporev
Статус: Профессионал
Рейтинг: 480
Gluck
Статус: 9-й класс
Рейтинг: 443

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

Консультация онлайн # 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.13055 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.78 от 18.11.2019
Версия JS: 1.34 | Версия CSS: 3.35