Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Рекуррентное выражение


Автор: dlis 23.1.2012, 13:11
Здравствуйте, необходим здравый совет!

Вот условие:

Вывести на экран таблицу значений функции Y(x) и её разложение в ряд S(x) с точностью до E. Вывести число итераций, необходимое для достижения заданной точности. Вычисление S(x) и Y(x) оформить в виде функций.

условие прикреплено : нумерация столбцов:
1 - начало промежутка
2 - конец промежутка 
3 - сумма
4 - точность
5 - функция.

Вот код: 
Код:
Код


#include <iostream.h>
#include <math.h>
#include <iomanip.h>
        
        typedef double (*uf)(double, double, int &);
 
void tabl(double, double, double, double, uf);
double y(double, double, int &);
double s(double, double, int &);
 
 
int main()
{
        cout << setw(8) << "x" << setw(15) << "y(x)" << setw(10) << "k" << endl;
        tabl(-0.8, 0.9, 0.1, 0.0001, y);
        cout << endl;
        cout << setw(8) << "x" << setw(15) << "s(x)" << setw(10) << "k" << endl;
        tabl(-0.8, 0.9, 0.1, 0.0001, s);
        return 0;
}
 
 
void tabl(double a, double b, double h, double esp, uf fun)
{
        int k=0;        
        double sum;
        for (double x=a; x<b+h/2; x+=h)
        {
                sum = fun(x, esp, k);
                cout << setw(8) << x << setw(15) << sum << setw(10) << k << endl;
        }
}
 
double y(double x, double esp, int &k)
{
        return pow(x+1,1/4.) - (4-x) / 4.;
}
 
double s(double x, double esp, int &k)
{
        double a,c,sum;
        sum = a = c =  - (x*x) / 128.; 
        k=3;
        while (fabs(c)>esp)
        {
                c =  (-1.0) * ((4*k-3)*(4*k-1))/((4*k+4)*(4*k+2)) * x;  // pow(x,2) / (2*k*(2*k+1));    
                a*=-c;
                sum+=a;
                k++;
        }
        return sum;
}


получается какая-та фигня 

Автор: dlis 23.1.2012, 13:12
условие

Автор: dlis 23.1.2012, 13:13
множитель последовательности:

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)