/
Vavanus228
/
Labi
Обзор
Документация
Войти
/
Vavanus228
/
Labi
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
laba8.cpp
75 строк
2 KB
Vavanus228
upload files
12 дек 2025, 00:07
12 дек 2025, 00:07
5e2ea29
Код
Авторство
О чём код?
#include<iostream> #include<cmath> #include<vector> #include<iomanip> using namespace std; typedef double (*uf)(double, double, int&); void tabl(double, double, double, double, uf); double y(double, double, int&); double s(double, double, int&); int main() { double a, b, h, eps; setlocale(LC_ALL, "ru"); cout << "������� a" << endl; cin >> a; cout << "������� b" << endl; cin >> b; cout << "������� h" << endl; cin >> h; cout << "������� eps" << endl; cin >> eps; cout << setw(8) << "x" << setw(15) << "y(x)" << setw(10) << "k" << endl; tabl(a, b, h, eps, y); cout << endl; cout << setw(8) << "x" << setw(15) << "s(x)" << setw(10) << "k" << endl; tabl(a, b, h, eps, s); return 0; } void tabl(double a, double b, double h, double eps, uf fun) { int k = 0; double sum; for (double x = a; x < b + h / 2; x += h) { if (fabs(x) < 1e-10) x = 0.0; sum = fun(x, eps, k); cout << setw(8) << x << setw(15) << sum << setw(10) << k << endl; } } double y(double x, double eps, int& k) { k = 0; if (x >= 1 x <= -1) { cout << "������: x ������ ���� � ��������� (-1, 1) ��� ����������� ����������" << endl; return 0; } return 0.25 * log((1 + x) / (1 - x)) - 0.5 * atan(x); } double s(double x, double eps, int& k) { double c, sum; if (x >= 1 x <= -1) { cout << "������: x ������ ���� � ��������� (-1, 1) ��� ���������� ����" << endl; k = 0; return 0; } c = pow(x, 3) / 3; sum = c; k = 1; while (fabs(c) > eps) { c = c * pow(x, 4) * (4 * k - 1) / (4 * k + 3); sum += c; k++; if (k > 1000) { cout << "��������� ������������ ���������� ��������!" << endl; break; } } return sum; }