Quipex icon

Laba_3.6

Quipex | PRO | 09/28/15 03:12:01 PM UTC | 0 ⭐ | 333 👁️ | Never ⏰ | []
C++ |

1.45 KB

|

None

|

0 👍

/

0 👎

#include "StdAfx.h"
#include <iostream>
#include <iomanip>
#include <math.h>
 
using namespace std;
 
long double fact(int N)
{
    if(N < 0) // если пользователь ввел отрицательное число
        return 0; // возвращаем ноль
    if (N == 0) // если пользователь ввел ноль,
        return 1; // возвращаем факториал от нуля - не удивляетесь, но это 1
    else // Во всех остальных случаях
        return N * fact(N - 1); // делаем рекурсию.
}
 
int main()
{
    double a,b,h,x,s,p;
    float y;
    int n,i;
    cout << "Vvedite a,b,n" << endl;
    cin >> a >> b >> n;
 
    h=(b-a)/10;
    x=a;
 
    do
    {
        p=1;
        //s=-(pow(2*x,2))/2;
        s=0; //решил считать по-своему
        for (i=1; i<=n; i++)
        {
            //p *= (-1)*pow((2*x),2)/2*i; //- не обращайте внимания, неудачные попытки
            p=powf(-1,i)*pow(2*x,2*i)/(fact(2*i)); //fact - факториал, я его сверху над телом основным написал
            s += p;
        }
        y=2*(cos(x)*cos(x)-1);
        cout << setw(15) << x << setw(15) << y << setw(15) << s << endl;
        x += h;
    }
    while (x <= b+h/2);//не совсем понял нахрена такое условие, видать чтобы можно было вместо <= поставить <
    cout << endl;
    system("pause");
    return 0; 
}

Comments