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

Защитить алгоритм от зависания - C++

Восстановить пароль Регистрация
 
VIKT0R
8 / 8 / 2
Регистрация: 15.11.2011
Сообщений: 78
30.06.2015, 11:58     Защитить алгоритм от зависания #1
Добрый день, вот я сделал некий алгоритм типа поиска половинным делением. Иногда зависает, наверное, по причине несходимости. В алгоритме присутствует цикл while( true ). Есть мысль сделать какую-то защиту от зависания, ну например, если время выполнения цикла больше 10 сек, но меня терзают смутные сомнения - правильная ли такая стратегия?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,917
Записей в блоге: 2
Завершенные тесты: 1
30.06.2015, 12:00     Защитить алгоритм от зависания #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
может тогда лучше ограничить кол-во итераций? А есть вариант проверить ряд на сходимость?
Байт
 Аватар для Байт
13993 / 8824 / 1231
Регистрация: 24.12.2010
Сообщений: 15,989
30.06.2015, 12:37     Защитить алгоритм от зависания #3
Цитата Сообщение от Croessmah Посмотреть сообщение
может тогда лучше ограничить кол-во итераций?
Логичнее ограничить величину отрезка, то есть точность нахождения корня. Однако, если функция дурная (не непрерывная) результат может быть тоже дурной.
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
30.06.2015, 12:44     Защитить алгоритм от зависания #4
VIKT0R, нужно всего лишь правильно реализовать алгоритм. Если, конечно, сам алгоритм правильно продуман.
S_el
1908 / 1503 / 296
Регистрация: 15.12.2013
Сообщений: 5,920
30.06.2015, 12:50     Защитить алгоритм от зависания #5
VIKT0R, break делайте,это вполне нормально.Но лучше подробнее опишите задачу.
VIKT0R
8 / 8 / 2
Регистрация: 15.11.2011
Сообщений: 78
30.06.2015, 13:57  [ТС]     Защитить алгоритм от зависания #6
Цитата Сообщение от Croessmah Посмотреть сообщение
может тогда лучше ограничить кол-во итераций?
Да, работает надёжно, спасибо.

Всем спасибо, алгоритм возможно не самый лучший, но оказалось к тому же, что библиотечная функция работает неправильно.
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
30.06.2015, 14:01     Защитить алгоритм от зависания #7
Цитата Сообщение от VIKT0R Посмотреть сообщение
что библиотечная функция работает неправильно.
У меня есть подозрения, что это может быть ошибочным мнением. Пояснишь? (поставлю лайк)
VIKT0R
8 / 8 / 2
Регистрация: 15.11.2011
Сообщений: 78
30.06.2015, 15:10  [ТС]     Защитить алгоритм от зависания #8
Поясню без лайка, только вряд ли участникам что-то скажет название функции ProCurveParamByLengthEval.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2015, 15:28     Защитить алгоритм от зависания
Еще ссылки по теме:

Защитить массив от неправильного ввода C++
C++ Как защитить программу от taskkill?
Защитить проект С++ C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
castaway
30.06.2015, 15:28     Защитить алгоритм от зависания
  #9

Не по теме:

Я полагал что эта функция из стандартной библиотеки языка C++.

Yandex
Объявления
30.06.2015, 15:28     Защитить алгоритм от зависания
Ответ Создать тему
Опции темы

Текущее время: 18:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru