Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
5 / 5 / 6
Регистрация: 17.05.2014
Сообщений: 61

Проверка значения полинома на равенство нулю всегда дает ложь

12.05.2015, 13:29. Показов 1825. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день уважаемые форумчане!

Проблема с циклом for , а точнее с шагом 0.01. При достижении счетчика 0 , вместо 0 выводит -1.02696e-015 и ни одна из проверок в if не проходит(при коэф. a=1,b=1,c=1,d=1,e=0 проверки проходят при i=-1,i=0 , но ни одна из них не проходит)

C++
1
2
3
4
5
6
7
8
9
10
for (double i = -5; i < 5; i = i + 0.1)
    {
 
        cout << i << endl;
        if (a*pow(i, 4) + b*pow(i, 3) + c*pow(i, 2) + d*i + e == 0)
        {
            cout << "***" << i << endl;
 
        }
    }
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.05.2015, 13:29
Ответы с готовыми решениями:

Очень нужно подсчитать определитель на равенство/не равенство нулю
Здравствуйте. Мне очень нужно подсчитать данный определитель на равенство (или не равенство нулю), подскажите пожалуйста как мне его...

Что дает проверка булевого значения без приравнивания к True или False
ServerApp - переменная типа bool что делает проверка &quot;if(!ServerApp)&quot;? Точнее, как мне её правильно интерпретировать? Вариант 1:...

Написать программу, которая в качестве результата дает истину, если выполняется заданное условие, или ложь
1.Написать программу, которая в качестве результата дает истину, если выполняется заданное условие, или ложь, если условие не...

5
Native x86
Эксперт Hardware
 Аватар для quwy
6859 / 3791 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
12.05.2015, 13:32
Числа с плавающей точкой нельзя сравнивать строго. Ваше -1.02696e-015 соответствует числу -0.00000000000000102696, что почти равно нулю, однако из-за накопления неточностей представления вещественных чисел в компьютере, строго нулю все-таки не равно.
0
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
12.05.2015, 13:33
Это специфика типов с плавающей точкой. Рекомендую делать округление до нужной точности, если есть необходимость проверять математически точные значения.
0
Native x86
Эксперт Hardware
 Аватар для quwy
6859 / 3791 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
12.05.2015, 13:37
Вместо строгой проверки вещественных чисел на равенство, вычитайте одно из другого, берите модуль от этой разницы, и проверяйте, меньше ли он некоего допуска (скажем, 0.001), точность которого вас устраивает в данном случае.
0
5 / 5 / 6
Регистрация: 17.05.2014
Сообщений: 61
13.05.2015, 09:51  [ТС]
Знаю с помощью floor можно округлить о целого, а как округлить дробные до сотых?
0
Модератор
Эксперт С++
 Аватар для zss
13778 / 10971 / 6491
Регистрация: 18.12.2011
Сообщений: 29,256
13.05.2015, 10:17
Лучший ответ Сообщение было отмечено Forrgit как решение

Решение

C++
1
2
3
4
5
6
7
for (double i = -5.; i < 5.; i += 0.1)
{
     double t=i*i;
     double val=a*t*t+b*t*i+c*t+d*i+e;
     if (fabs(val)<1e-6)
        cout << "***" << i << endl;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.05.2015, 10:17
Помогаю со студенческими работами здесь

Равенство нулю интеграла
Почему интеграл от минус бесконечности до плюс бесконечности от функции \frac{sinax}{x^2+1} dx равен нулю?

Доказать равенство интеграла нулю
Пожалуйста помогите!!! Нужно доказать равенство \int_{0}^{1}\{\left(2x-1 \right)}^{2n+1}{a}^{{x}^{2}-x}dx=0, тут a&gt;0, n - натуральное...

Доказать равенство нулю выражения
Здравствуйте. Подскажите, пожалуйста, как правильно с математической точки зрения можно доказать, что выражение следующего вида равно 0 ...

Несобственный интеграл, (не)равенство нулю
имеется интеграл \int_{-\propto }^{\propto }{x}^{2}{e}^{-{x}^{2}/2{\sigma }^{2}}dx раскладываем его на 2 интеграла 1)от минус...

Проверка на ИСТИНУ или ЛОЖЬ
Как зделать значения истина или лож ? Вот что должно быть в итоге С6 есть значение - истина (2 остальных пустые ) значение : С 6 и...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru