Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>
- #include <iomanip>
- using namespace std;
- double n;
- double x;
- double countY(double x) {
- double Y = (1 - (x * x) / 2) * cos(x) - x / 2 * sin(x);
- return Y;
- }
- double countS(double x, double n) {
- double S = 1;
- double E = 1;
- double a;
- for (int k = 1; k <= n; k++) {
- E = -E * x * x / (2 * k * (2 * k - 1));
- a = (2 * k * k + 1) * E;
- S += a;
- }
- return S;
- }
- typedef double (*newfunc) (double, double);
- void outRez(newfunc anyfunc, double a, double b, double h){
- for (x = a; x <= b; x += h) {
- cout << setw(12) << fixed << setprecision(3) << anyfunc(x, n);
- }
- cout << endl;
- }
- int main() {
- setlocale(LC_ALL, "Rus");
- double a, b, h, n;
- cout << "Для подсчёта выражения введите нижнюю границу a" << endl;
- cin >> a;
- cout << "\nДля подсчёта выражения введите верхнюю границу b" << endl;
- cin >> b;
- cout << "\nДля подсчёта выражения введите шаг измениния переменной x от границы a до границы b - h" << endl;
- cin >> h;
- cout << "\nВ математическом выражении присутствует максимальное значение k - n, введите значение с клавиатуры" << endl;
- cin >> n;
- cout << endl;
- cout << setw(10) << "Y";
- cout << setw(12) << "S";
- cout << setw(15) << "|Y - S|" << endl;
- for (x = a; x <= b; x += h) {
- countY(x);
- countS(x, n);
- //cout << setw(12) << fixed << setprecision(3) << countY(x);
- //cout << setw(12) << countS(x, n);
- outRez(countS, a, b, h);
- //cout << setw(12) << fabs(countY(x) - countS(x, n)) << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement