Главная » 2017 » Апрель » 10 » Решение задачи R.
10:34
Решение задачи R.

#include<iostream>
#include <Windows.h>
using namespace std;
int main() 
{
    setlocale(LC_ALL, "Russian"); 
    SetConsoleCP(1251); SetConsoleOutputCP(1251);
    const double pi=3.1415926535;
    double x,e;
    int n, k, i, znak;
    double s, chisl, znam;
    cout<<"Введите x "; cin >>x;
    while (x>2*pi)
    {
        x=x-2*pi;
    }
    while (x<-2*pi)
    {
        x=x+2*pi;
    }

    cout<<"Введите N "; cin >>n;
    cout<<"Введите E "; cin >>e;
    //Сумма для N слагаемых

    chisl=x;
    znam=1;
    s=0;
    znak=1;
    k=2;
    for (i=0;i<n;i++)
    {
        s=s+chisl/znam*znak;
        znam=znam*k*(k+1);
        chisl=chisl*x*x;
        znak=znak*(-1);
        k=k+2;
    }
    cout<<"1. sin(x)="<<s<<endl;

    //Сумма для E1

    chisl=x;
    znam=1;
    s=0;
    znak=1;
    k=2;
    i=0;
    while (abs(chisl/znam)>e)
    {
        s=s+chisl/znam*znak;
        znam=znam*k*(k+1);
        chisl=chisl*x*x;
        znak=znak*(-1);
        k=k+2;
        i++;
    }
    cout<<"2. sin(x)="<<s<<" Количество слагаемых= "<<i<<endl;

    //Сумма для E2
    e=e/10;
    chisl=x;
    znam=1;
    s=0;
    znak=1;
    k=2;
    i=0;
    while (abs(chisl/znam)>e)
    {
        s=s+chisl/znam*znak;
        znam=znam*k*(k+1);
        chisl=chisl*x*x;
        znak=znak*(-1);
        k=k+2;
        i++;
    }
    cout<<"3. sin(x)="<<s<<" Количество слагаемых= "<<i<<endl;

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


    system("pause");

    return 0;
}    

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