Нужно срочно сделать такое задание, в долгу не останусь задание Реализовать функцию mExp, которая рассчитывает значение функции на основе ряда Маклорена (возврат результата выполнить через return). Обрыва ряда выполняется, когда текущий слагаемое становится меньше значения epsilon, которое передается в функцию (как аргумент). Функция должна (через аргументы) возвращать количество добавленных членов ряда, которая обеспечила это условие завершения, и погрешность (Разницу с «правильной» функцией exp (x))
#include <iostream> #include <math.h> #include <iomanip> using namespace std; const double epsilon = 1e-10; long double ex(long double x, double eps) { int i = 1; long double e = 1.0, temp = 0, fact = 1.0; while (fabs(temp = pow(x, i) / (fact *= i)) > fabs(eps)){ e += temp; ++i; } return e; } int main() { long double arg; ios_base::fmtflags old = cout.setf(ios_base::fixed, ios_base::floatfield); cout << "x = "; while (cin >> arg){ cout.setf(old, ios_base::floatfield); cout << "exp(" << arg << ")\n" << "Calculated using Maclaurin series: " << setiosflags(ios::fixed) << setprecision(9) << ex(arg, epsilon) << endl << "Calculated using library function: " << exp(arg) << endl << endl; cout << "x = "; } } P. S код не мой