| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Помогите найти ошибку |
| Автор: annasei 26.12.2016, 22:50 | ||
| Помогите плиз! значение правой части (f(x)) не соответствует значению левой части функции. Даны a, b, h, e (0<e<1). Построить таблицу значений заданной функции на отрезке [a, b] с шагом h. Для вычисления функции использовать заданное разложение функции. Функцию вычислять с точностью e. Считаем, что заданная точность достигнута, если очередное слагаемое по модулю меньше e. Использовать директиву препроцессорной обработки #define для задания препроцессорного идентификатора. x=2(sinx-(sin2x/2)+(sin3x/3)-...+((-1)^(n-1))(sinnx/n)+...)
|
| Автор: feodorv 27.12.2016, 08:53 | ||||
Наверное, предполагается так:
Добавлено через 2 минуты и 16 секунд Почему не
|
| Автор: annasei 27.12.2016, 12:42 |
если sum=0, то f(x) при любых значениях х равняется нулю, но по сути sum действительно должна =0, значит ошибка в чем то другом |
| Автор: feodorv 28.12.2016, 09:09 |
| На это Вы не обратили внимание: |
| Автор: feodorv 28.12.2016, 09:24 | ||
Ну так переменные chisl, znam не инициализированы, но вы сходу используете их значения: Судя по всему, мусор в неинициализированных значениях таков, что не выполняется условие fabs(chisl/znam)>=e, и тело цикла не выполняется ни разу. Сделайте хотя бы так
|