Форум программистов, компьютерный форум CyberForum.ru

Поиск методом деления пополам. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчёт количества слов в данном текстовом файле http://www.cyberforum.ru/cpp-beginners/thread363581.html
Задание такое: определить количество слов в данном текстовом файле. Слова - последовательности символов и цифр, разделенные "не символами", вроде пробелов, точек, запятых и пр. #include <iostream> #include <fstream> #include <cctype> using namespace std; int main() { setlocale(LC_ALL,"rus_rus.1251"); unsigned char ch;
C++ Что вы думаете об этой книге? http://www.ozon.ru/context/detail/id/5531965/#tab_descr Ее другу посоветовали,мне кажется что она больше для тех,кто уже что-то пишет на С++ ,а я вот Харви М. Дейтел, Пол Дж. Дейтел - Как программировать на C++ - 2008 читаю пока . http://www.cyberforum.ru/cpp-beginners/thread363566.html
Лежит ли точка в окружности C++
Входные данные: координаты х,у, радиус круга (с центром в точку 0,0) Выходные данные: лежит ли точка внутри окружности или нет
Записать введённую с клавиатуры цифру от 0 до 10 словами на английском языке C++
Записать введённую с клавиатуры цифру от 0 до 10 словами на английском языке.
C++ Структуры http://www.cyberforum.ru/cpp-beginners/thread363545.html
Полное условие: определить структурированный тип, набор функций ( в виде меню) для работы с массивом структур. В структурированной переменной предусмотреть способ отметки её как не содержащей данных (т.е. "пустой"). Функции должны работать с массивом структур или с отдельной структурой через указатели, а также при необходимости возвращать указатель на структуру. В перечень обязательных функций...
C++ Записать введённую с клавиатуры цифру от 0 до 10 словами на английском языке Записать введённую с клавиатуры цифру от 0 до 10 словами на английском языке Еще раз создадите эту тему (в третий раз) - карточка обеспечена. Это первое, второе - если это С++, зачем вы уже третий раз создаете тему в VBA и с неверным заголовком? подробнее

Показать сообщение отдельно
aeshes
439 / 202 / 13
Регистрация: 07.10.2011
Сообщений: 462
09.10.2011, 17:32     Поиск методом деления пополам.
Насколько я помню, сначала нужно отсортировать последовательность (массив, вектор, список - что у вас хранит это расписание) по ключу (по названии станции). Затем находим средний элемент последовательности (элемент с индексом size/2) и сравниваем его станцию с нужной. Если они равны - бинго, мы нашли нужный поезд, печатаем эту запись. Если "средняя" станция меньше искомой (раньше по алфавиту), то искомая запись будет во второй части последовательности (от середины до конца). Если "средняя" станция больше искомой (позже по алфавиту), то искомая запись будет в первой части последовательности (от начала до середины). После того, как выяснили, в какой части последовательности искать, в качестве последовательности рассматриваем эту часть и повторяем все сначала
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru