Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #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;
- }
Advertisement
Add Comment
Please, Sign In to add comment