-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
|
||||||
1 | ||||||
Выводит неточный результат20.12.2010, 03:13. Показов 1499. Ответов 17
Метки нет (Все метки)
Где-то есть ошибка. Выводит неточный результат. Ввожу : 1 0.001 Выводит: 2.71806 , а надо 2.71825
Исправьте пожалуйста.
0
|
20.12.2010, 03:13 | |
Ответы с готовыми решениями:
17
Не выводит результат C++ не выводит результат Не выводит результат Не выводит результат |
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
20.12.2010, 12:09 | 2 |
c++\noob, Все правильно выводит Ваша программа.
Вот если ввести: 1 0.0001, тогда выдаст тоже правильный результат: 2.71825
1
|
-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
|
|
20.12.2010, 13:59 [ТС] | 3 |
ну тогда извините, недосмотрел =)
Добавлено через 14 минут нет именно при вводе 1 0.001 должно быть 2.71825. Отправлял задачу на econtest - не приняли((
0
|
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
20.12.2010, 14:03 | 4 |
Условие задачи напишите.
1
|
-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
|
|
20.12.2010, 14:10 [ТС] | 5 |
valeriikozlov, нет именно при вводе 1 0.001 должно быть 2.71825. Отправлял задачу на econtest - не приняли((
Добавлено через 22 секунды щас секунду Добавлено через 33 секунды извините за второе сообщение нечаянно отправил) Добавлено через 3 минуты Не используя стандартные функции (за исключением ABS), вычислить с точностью Eps: y=e^x=1 + x/1! + x^2/2! + ... + x^n/n! + ... Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше Eps, все последующие слагаемые можно уже не учитывать
0
|
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
20.12.2010, 14:22 | 6 |
Вот ключевая фраза. Если очередное слагаемое по модулю меньше Eps (его нужно складывать с b),
а вот все последующие слагаемые можно уже не учитывать.
1
|
-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
|
|
20.12.2010, 14:36 [ТС] | 7 |
напишите ,пожалуйста, как надо
0
|
3565 / 2712 / 347
Регистрация: 11.03.2009
Сообщений: 6,246
|
|
20.12.2010, 14:49 | 8 |
0
|
-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
|
|
20.12.2010, 15:24 [ТС] | 9 |
Переписал через do{}while - результат всё равно тот же. =(
0
|
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
||||||
20.12.2010, 16:19 | 10 | |||||
1
|
-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
|
|
20.12.2010, 19:23 [ТС] | 11 |
Извините пожалуйста. Я наверно вас уже достал, но опять где-то есть недочёт (econtest не принимает). Ввожу 3.14 0.000001, выбивает 22.19869, а надо 23.10387.
Добавлено через 6 минут
0
|
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
||||||
20.12.2010, 19:47 | 12 | |||||
Для данного набора входных данных: 3.14 0.000001 типа int для вычисления факториала числа не хватает (функция factorial() возвращает отрицательное значение), пробуйте так:
1
|
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
|
|
20.12.2010, 20:07 | 13 |
Double тоже надолго не хватит. Правильное решение таких задач - не вычислять факториал отдельно вообще, и pow по условию задачи тоже нельзя использовать кстати, а вычислять следующий член через предыдущий по рекурентной формуле.
Добавлено через 5 минут В данном случае рекурентное соотношение такое: , И никаких сусликов!
1
|
-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
|
|
20.12.2010, 21:22 [ТС] | 14 |
econtest опять выдаёт ошибку. ввод 2 300 , вывод 3.00000, надо 1.00000 . ((( хз что сней делать
0
|
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
21.12.2010, 07:28 | 15 |
c++\noob,
Вы не ошибаетесь? x=2, eps=300 b=1+2/1=3, цикл останавливается после вычисления первого слагаемого 2/1 (т.к. оно меньше 300). Кстати Вам хороший алгоритм написал Напильнег (но даже в этом случае его алгоритм выдаст тоже 3.00000). А ссылку на задачу можете написать?
0
|
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
|
||||||
21.12.2010, 11:23 | 16 | |||||
Я так понимаю, что реализовать надо так, чтобы в этом случае выход был уже после первого слагаемого, строго следуя условию задачи, а не по принципу "кашу маслом не испортишь", хотя с точки зрения практических вычислений это бред.
Напильнег написал, как вычислять следующий член суммы, а скомпоновать можно по разному. Например, так:
1
|
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
||||||
21.12.2010, 11:46 | 17 | |||||
Да я не учел что первое слагаемое 1 тоже учитывается:
1
|
-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
|
|
22.12.2010, 10:42 [ТС] | 18 |
valeriikozlov, спасибоо вам огромное всё заработало!!!
0
|
22.12.2010, 10:42 | |
22.12.2010, 10:42 | |
Помогаю со студенческими работами здесь
18
Не выводит результат не выводит результат C++ Указатели. Не выводит результат! Программа не выводит результат Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |