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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.90
Оксана Курбатов
18 / 0 / 1
Регистрация: 30.11.2011
Сообщений: 33
#1

Вычислить бесконечную сумму ряда с заданной точностью e (e>0) - C++

07.12.2011, 18:14. Просмотров 4347. Ответов 5
Метки нет (Все метки)

Помогите найти что у меня неправильно. Компилятор ошибок не показывает но и результат работы программы тоже
Вычислить бесконечную сумму ряда с заданной точностью e (e>0)
0
Миниатюры
Вычислить бесконечную сумму ряда с заданной точностью e (e>0)  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2011, 18:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить бесконечную сумму ряда с заданной точностью e (e>0) (C++):

Вычислить бесконечную сумму ряда с заданной точностью е (е>0) - C++
Помогите пожалуйста. Вычислить бесконечную сумму ряда с заданной точностью е (е>0). \sum_{i=1}^{\infty}\frac{2}{i!}

Вычислить бесконечную сумму ряда с заданной точностью - C++
Вычислить бесконечную сумму ряда с заданной точностью е(е>0) \sum_{1}^{\propto } 1/3^i+4^i

Вычислить бесконечную сумму ряда с заданной точностью - C++
Вычислить бесконечную сумму ряда с заданной точностью е(е>0) \sum_{1}^{\propto }1/3^i+4^i

Вычислить бесконечную сумму ряда с заданной точностью - C++
Вычислить бесконечную сумму ряда с заданной точностью e (e>0)

Вычислить бесконечную сумму ряда с заданной точностью е(е>0) - C++
Помогите пожалуйста вычислить бесконечную сумму ряда с заданной точностью е(е>0)

Вычислить бесконечную сумму ряда с заданной точностью e (e>0) - C++
Вычислить бесконечную сумму ряда с заданной точностью e (e>0). :rtfm:Запрещено размещать задания и решения в виде картинок и других...

5
Krasti
27 / 27 / 3
Регистрация: 07.11.2010
Сообщений: 140
07.12.2011, 18:37 #2
Как у тебя заданный ряд связан с тем, что ты делаешь в цикле?

Добавлено через 32 секунды
Да там по ходу и самом задании ошибка, какой смысл от -1 в четной степени всегда?

Добавлено через 4 минуты
Но если задание действительно такое, то как то вот так:
C++
1
2
3
4
5
6
while ( fabs ( a ) < eps )
{
    s += a;
    i ++;
    a = 1 / ( i * ( i + 1 ) * ( i + 2 ) );
}
0
Оксана Курбатов
18 / 0 / 1
Регистрация: 30.11.2011
Сообщений: 33
07.12.2011, 18:40  [ТС] #3
У меня таких заданий целая методичка и все с приколом.факт в том что 2 дня назад было похожее и всё работало а сегодня нет ввожу е а дальше тишина


while(a>=e) //до тех пор пока очередное слагаемое больше е
{s+=a; //добавляем его к сумме
i++;a/=(i+3)/i;}//вычисляем номер очередного слагаемого и его значение
0
Krasti
27 / 27 / 3
Регистрация: 07.11.2010
Сообщений: 140
07.12.2011, 22:52 #4
Цитата Сообщение от Оксана Курбатов Посмотреть сообщение
a/=(i+3)/i
Что произойдет тут можете описать словами?
Кстати, я в своем примере ошибся, там в ( fabs ( a ) < eps ) нужно исправить < на >=
0
Heidel
111 / 111 / 7
Регистрация: 11.10.2011
Сообщений: 647
07.12.2011, 23:46 #5
Я написала так, она работает

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
29
#include <iostream>
#include <cmath>
using namespace std;
 
int main ()
{
    int i = 1;
    double e;
    double s;
    double a;
 
    cout << "e == ";
    cin >> e;
    
    a = pow (-1, 2*1)/(1*(1+1)*(1+2));
    s = a;
 
    while (a >= e)
    {
        i++;
        a = pow (-1, 2*i)/(i*(i+1)*(i+2));
        s=s+a;
    }
 
    cout << "i == " << i << endl;
    cout << "a == " << a << endl; //значение a, которое уже НЕ ВХОДИТ в е
    cout << "s == " << s << endl;
    return 0;
}
У меня проблема была в том, что, похоже, строка
C++
1
a = 1/6;
вычислялась равной нулю, а если написать в том виде, в котором она записана у меня, то все работает.

И да, раз в ряде http://www.cyberforum.ru/cgi-bin/latex.cgi?{-1}^{2*i}, т.е. -1 всегда возводится в четную степень, то а>0 всегда , и
C++
1
fabs(a) < e
это лишнее.

Добавлено через 7 минут
Ааа, всё, поняла в чем ошибка.
Надо
C++
1
a = (double) 1/6;
Ну и соответственно вся программа целиком
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
29
#include <iostream>
#include <cmath>
using namespace std;
 
int main ()
{
    int i = 1;
    double e;
    double s;
    double a;
    
    cout << "e == ";
    cin >> e;
    
    a = (double) (1/6);
    s = a;
 
    while (a >= e)
    {
        i++;
        a = pow (-1, 2*i)/(i*(i+1)*(i+2));
        s=s+a;
    }
 
    cout << "i == " << i << endl;
    cout << "a == " << a << endl; //Г§Г*Г*Г·ГҐГ*ГЁГҐ a, êîòîðîå óæå ГЌГ… ÂÕÎÄÈÒ Гў ГҐ
    cout << "s == " << s << endl;
    return 0;
}
0
Оксана Курбатов
18 / 0 / 1
Регистрация: 30.11.2011
Сообщений: 33
08.12.2011, 18:05  [ТС] #6
Krasti a/=(i+3)/i таким образом вычисляется каждый член суммы (i+3)/i - рекуррентное соотношение то есть отношение последующего члена суммы к предыдущему

Heidel прикол в том что pow нам препод не разрешает использовать.можно только рекуррентное соотношение использовать
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2011, 18:05
Привет! Вот еще темы с ответами:

Вычислить бесконечную сумму ряда с заданной точностью - C++
Вычислить бесконечную сумму ряда с заданной точностью e(e&gt;0) \sum_{i=1}^{+\propto }\frac{{(-1)}^{i+1}}{{3}^{2*i-1}} У знака...

Вычислить бесконечную сумму с заданной точностью - C++
Вычислить бесконечную сумму с заданной точностью E(E&gt;0) . Считать, что требуемая точность достигнута, если вычислена сумма нескольких...

Вычислить бесконечную сумму с заданной точностью - C++
Вычислить бесконечную сумму с заданной точностью eps (eps&gt;0). Считать, что требуемая точность достигнута, если вычислена сумма нескольких...

Вычислить бесконечную сумму с заданной точностью - C++
Помогите пожалуйста решить задачку, срочно нужно. Спасибо Перепишите задачу на форум!


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
08.12.2011, 18:05
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru