/
ch1ppo
/
Labubusi
Обзор
Документация
Войти
/
ch1ppo
/
Labubusi
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
lab8.cpp
63 строки
2 KB
ch1ppo
upload files
19 дек 2025, 13:51
19 дек 2025, 13:51
7033c21
Код
Авторство
О чём код?
#include <iostream> #include <cmath> #include <iomanip> using namespace std; // Объявление прототипов функций typedef double (*FuncPtr)(double, double, int&); void tabl(double a, double b, double h, double eps, FuncPtr func); double y(double x, double eps, int& k); double s(double x, double eps, int& k); int main() { // Вывод таблицы для функции y(x) = sin(x) cout << setw(8) << "x" << setw(15) << "y(x)" << setw(10) << "k" << endl; tabl(0.1, 0.8, 0.1, 0.001, y); cout << endl; // Вывод таблицы для ряда S(x) cout << setw(8) << "x" << setw(15) << "s(x)" << setw(10) << "k" << endl; tabl(0.1, 0.8, 0.1, 0.001, s); return 0; } // Функция вычисления y(x) = sin(x) double y(double x, double eps, int& k) { k = 0; // Для данной функции итерации не требуются return sin(x); } // Функция вычисления ряда S(x) для sin(x) double s(double x, double eps, int& k) { double term = x; // первый член ряда double sum = term; // начальная сумма k = 1; // счетчик итераций // Вычисляем ряд пока текущий член больше точности while (fabs(term) > eps) { // Вычисляем следующий член ряда term = -term * x * x / ((2 * k) * (2 * k + 1)); sum += term; k++; } return sum; } // Функция вывода таблицы значений void tabl(double a, double b, double h, double eps, FuncPtr func) { int k; double result; // Цикл по всем значениям x от a до b с шагом h for (double x = a; x <= b + h / 2; x += h) { result = func(x, eps, k); cout << fixed << setprecision(4) << setw(8) << x << setw(15) << result << setw(10) << k << endl; } }