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

Сумма ряда - C++

Восстановить пароль Регистрация
 
Равиль М.
2 / 2 / 0
Регистрация: 29.05.2012
Сообщений: 14
09.06.2012, 18:43     Сумма ряда #1
при любых значениях х выдает сумму равную 0. Почему так может я не правильно вызываю подпрограмму?

Код
#include <iostream>
#include <cmath>
using namespace std;
double f(double a, double m);
int main()
{
    double n, a, t, i, m, p, x, E=1.0e-4, c;
    cout<<"x=";
    cin>>x;
    c=f(a,m);
    cout<<"c="<<c<<endl;
    return 0;
}
double f(double a, double m)
{
    double c, n, t, i, p, S, x, E=1.0e-4;
    for(c=0, p=1, i=2, a=x; fabs(p)>E; i++, m*=m)
    {
        a=(t*n)/((i-1)*i);
        m=n+(i-1);
        p=a*m;
        c+=p;
    }
    return c;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2012, 18:43     Сумма ряда
Посмотрите здесь:

Сумма ряда C++
Сумма ряда C++
C++ сумма ряда
C++ Сумма ряда
Сумма ряда C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
 Аватар для Catstail
21434 / 10219 / 1666
Регистрация: 12.02.2012
Сообщений: 17,092
09.06.2012, 19:17     Сумма ряда #2
не инициализирована переменная t
g-h
67 / 67 / 1
Регистрация: 03.06.2012
Сообщений: 176
09.06.2012, 19:36     Сумма ряда #3
Цитата Сообщение от Равиль М. Посмотреть сообщение
c=f(a,m);
Когда вызываешь эту функцию то переменные a и m неинициализированы. Им не присвоены значения
Равиль М.
2 / 2 / 0
Регистрация: 29.05.2012
Сообщений: 14
09.06.2012, 19:47  [ТС]     Сумма ряда #4
Спасибо! сделал, вроде работает
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
#include <iostream>
#include <cmath>
using namespace std;
double f(double x, double E);
int main()
{
    double n, a, t, i, m, p, x, E=1.0e-4, c;
    cout<<"x=";
    cin>>x;
    c=f(x,E);
    cout<<"c="<<c<<endl;
    return 0;
}
double f(double x, double E)
{
    double c, n, t, i, p, S, a, m;
    t=x*x;
    for(c=0, p=1, i=2, a=x; fabs(p)>E; i++, m*=m, t*=x)
    {
        a=(t*n)/((i-1)*i);
        m=n+(i-1);
        p=a*m;
        c+=p;
    }
    return c;
}
g-h
67 / 67 / 1
Регистрация: 03.06.2012
Сообщений: 176
09.06.2012, 19:58     Сумма ряда #5
Цитата Сообщение от Равиль М. Посмотреть сообщение
double f(double x, double E)
{
double c, n, t, i, p, S, a, m;
t=x*x;
for(c=0, p=1, i=2, a=x; fabs(p)>E; i++, m*=m, t*=x)
{
a=(t*n)/((i-1)*i);
m=n+(i-1);
p=a*m;
c+=p;
}
return c;
}
Что-то я смотрю на эту функцию Какая же она сложная. Ужас
Там вроде еще одну ошибку нашел в этой строчке:
C++
1
2
a=(t*n)/((i-1)*i);   // n - неинициализирована
m=n+(i-1);   // переменная n неизвестна чему равна
Равиль М.
2 / 2 / 0
Регистрация: 29.05.2012
Сообщений: 14
09.06.2012, 22:39  [ТС]     Сумма ряда #6
В условии n не дано:
Даны действительные числа x и ε. Вычислить с заданной точностью E=10^(-4) сумму ряда:
s=1+nx+((n(n+1))/2!)*x^2+((n(n+1)(n+2))/3!)*x^3+((n(n+1)(n+2)(n+3))/4!)*x^4+... при [х^2<=1]
Yandex
Объявления
09.06.2012, 22:39     Сумма ряда
Ответ Создать тему
Опции темы

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