Главная » 2015 » Ноябрь » 17 » задача из методички R
09:02
задача из методички R

#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL,"rus_rus.1251");
    double x,s,chisl,znam,a,E;
    int n,m,i,znak,k;

    cout<<"Введите x -> "; cin >>x;
    cout<<"Введите n -> "; cin >>n;
    cout<<"Введите E -> "; cin >>E;
    
    // первый этап
    s=0;
    chisl=1;
    znam=1;
    k=1;
    znak=1;
    for(i=1;i<=n;i++)
    {
        a=znak*(chisl/znam);
        s+=a;
        chisl*=x*x;
        k+=2;
        znam*=(k-1)*k;
        znak*=(-1);
    }
    cout <<"1. s1= "<<s<<endl;

    // второй этап
    s=0;
    chisl=1;
    znam=1;
    k=1;
    znak=1;
    a=1;
    m=0;
    while (abs(a)>E)
    {
        a=znak*(chisl/znam);
        s+=a;
        chisl*=x*x;
        k+=2;
        znam*=(k-1)*k;
        znak*=(-1);
        m++;
    }
    cout <<"2. s2= "<<s<<endl;
    cout <<"    m= "<<m<<endl;
    cout <<"    E= "<<E<<endl;
    
    // третий этап
    E/=10;
    s=0;
    chisl=1;
    znam=1;
    k=1;
    znak=1;
    a=1;
    m=0;
    while (abs(a)>E)
    {
        a=znak*(chisl/znam);
        s+=a;
        chisl*=x*x;
        k+=2;
        znam*=(k-1)*k;
        znak*=(-1);
        m++;
    }
    cout <<"3. s3= "<<s<<endl;
    cout <<"    m= "<<m<<endl;
    cout <<"    E= "<<E<<endl;

    // точное значение
    cout<<"4. Точное значение= "<<sin(x)/x<<endl;

    system("pause");
    return 0;
}

Просмотров: 386 | Добавил: denjes | Рейтинг: 0.0/0
Всего комментариев: 0
avatar