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

Бесконечная сумма - C++

Восстановить пароль Регистрация
 
Mischanja
Всегда не хватает времени
 Аватар для Mischanja
117 / 117 / 7
Регистрация: 15.10.2009
Сообщений: 493
24.06.2011, 17:46     Бесконечная сумма #1
Доброго времени суток уважаемые форумчане, возникло такое задание:
Даны действительные числа х и eps. Вычислите приближенно значение бесконечной суммы S. Приближение считается достигнутым, если полученная сумма нескольких составляющих, и очередного слагаемого оказывается по модулю меньше eps. S - http://i028.***********/1106/26/dd268cbe653f.jpg

помогите пожалуйста, я не до конца понял как проверить вот это - "если полученная сумма нескольких составляющих, и очередного слагаемого оказывается по модулю меньше eps"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
24.06.2011, 17:54     Бесконечная сумма #2
Цитата Сообщение от Mischanja Посмотреть сообщение
"если полученная сумма нескольких составляющих, и очередного слагаемого оказывается по модулю меньше eps"
Да, странно... Вообще это делается так: задается некое eps, например eps=0.001 и когда очередной член меньше eps, то суммирование прекращается.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
24.06.2011, 17:56     Бесконечная сумма #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
 
int main()
{
    double x, eps, current, s = 0;
    unsigned int i = 1; 
    printf("Enter the x and eps\n");
    scanf("%lf%lf", &x, &eps);
 
    if (fabs(x) > 1)
    {
        perror("Bad value\n");
        _getch();
        return EXIT_FAILURE;
    }
 
    current = x;
    for ( ; abs(current) > eps; ++i)
        s += current = pow(x - 1, i) / (pow(x, i) * i);
 
    printf("Answer: %lf", s);
 
    _getch();
    return EXIT_SUCCESS;
}
Mischanja
Всегда не хватает времени
 Аватар для Mischanja
117 / 117 / 7
Регистрация: 15.10.2009
Сообщений: 493
24.06.2011, 17:56  [ТС]     Бесконечная сумма #4
спасибо, попробую сейчас
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
24.06.2011, 17:59     Бесконечная сумма #5
Ещё более странно то, что при большинстве значений x когда |x|<1 этот ряд расходится.
Mischanja
Всегда не хватает времени
 Аватар для Mischanja
117 / 117 / 7
Регистрация: 15.10.2009
Сообщений: 493
24.06.2011, 18:08  [ТС]     Бесконечная сумма #6
Цитата Сообщение от grizlik78 Посмотреть сообщение
Ещё более странно то, что при большинстве значений x когда |x|<1 этот ряд расходится.
да и что делать

Добавлено через 2 минуты
уже раз 10 вводил числа и программа выдает ошибку
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
24.06.2011, 18:13     Бесконечная сумма #7
Не вводить числа меньше чем 0,5
Но это, разумеется, не гарантирует от ошибок в коде.
Для проверки можно посчитать в каком-либо математическом пакете.
Mischanja
Всегда не хватает времени
 Аватар для Mischanja
117 / 117 / 7
Регистрация: 15.10.2009
Сообщений: 493
24.06.2011, 18:18  [ТС]     Бесконечная сумма #8
Цитата Сообщение от grizlik78 Посмотреть сообщение
Не вводить числа меньше чем 0,5
Но это, разумеется, не гарантирует от ошибок в коде.
Для проверки можно посчитать в каком-либо математическом пакете.
я ввожу числа больше 1 но тот код что представили дает что bad value : Error 0
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
24.06.2011, 18:24     Бесконечная сумма #9
Цитата Сообщение от Mischanja Посмотреть сообщение
я ввожу числа больше 1 но тот код что представили дает что bad value : Error 0
Логично, ведь в том коде есть проверка в соответствии с заданием.
Попробуйте 0.7, 0.8, 0.9
А вообще, у автора задания надо уточнить, корректно ли условие.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2011, 18:31     Бесконечная сумма
Еще ссылки по теме:

C++ бесконечная сумма
Сумма элементов массива, у которых сумма индексов, на которых они находятся, - четное число. Проверить код C++
C++ Бесконечная последовательность рациональных чисел v0, v1 , . образована по следующему закону :

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

Или воспользуйтесь поиском по форуму:
Mischanja
Всегда не хватает времени
 Аватар для Mischanja
117 / 117 / 7
Регистрация: 15.10.2009
Сообщений: 493
24.06.2011, 18:31  [ТС]     Бесконечная сумма #10
Цитата Сообщение от grizlik78 Посмотреть сообщение
Логично, ведь в том коде есть проверка в соответствии с заданием.
Попробуйте 0.7, 0.8, 0.9
А вообще, у автора задания надо уточнить, корректно ли условие.
мда задание вообще как-то поставлено не корректно как мне кажется. Но спасибо всем за ответ
Yandex
Объявления
24.06.2011, 18:31     Бесконечная сумма
Ответ Создать тему
Опции темы

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