Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2011, 13:33   #1
Хитман
Пользователь
 
Регистрация: 08.12.2010
Сообщений: 13
По умолчанию Алгоритм поиска в упорядоченном файле вещественных чисел (на C)

Задание
Написать на С.
Дано файл вещественных чисел (a1,a2...an) что упорядочены по возрастанию. Найти среди этих чисел элемент равен x^2 (x предварительно задать).

Кто подскажет каким поиском искать, и может у кого то есть алгоритм?
Хитман вне форума Ответить с цитированием
Старый 10.04.2011, 15:57   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну, вижу два подхода...
1) "в лоб". читаем первый элемент - если он больше заданной величины - сообщение о том, что заданного значения нет и окончание работы.
Если же он меньше заданной величины, то читаем последовательно до тех пор пока не кончится файл или очередной прочитанныый элемент не окажется больше заданного - тогда прерываем - "ничего не найдено"
ну, разумеется, если очередной элемент равен заданному - то тоже прерываем - с сообщением "найдено"!

2) почти тоже самое - но испольуем метод бинарного поиска (берём первый и последний - если искомая величина между ними - тогда делим отрезок пополам - читаем из файла величину (n div 2)-того элемента. И дальше принимаем решение, какой дальше читать... (посмотрите алгоритм бинарного поиска - он чрезвычайно прост!)

p.s. в любом случае, при сравнении числа на совпадение, я бы рекомендовал Вам вместо x*x == Считанное, использовать что-то вроде:
Код:
if ( abs(x*x - СчитаннаяВеличина)<0.00000001  )
 { найдено заданное число }
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.04.2011, 16:28   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но испольуем метод бинарного поиска
Однозначно.
Цитата:
Хитман
Показывай как файлы формируешь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм компьютерного вычитания вещественных чисел Alexander4321 Помощь студентам 1 13.01.2011 23:13
Генератор ВЕЩЕСТВЕННЫХ чисел в С++ Kotjona Помощь студентам 4 08.05.2010 00:24
Файл вещественных чисел. toybike Общие вопросы C/C++ 8 10.12.2009 20:02
Алгоритм поиска HEX строки в файле Vlad_3310 Общие вопросы Delphi 8 17.06.2008 10:02