
C/C++
Программирование C++, ряд Тэйлора, функции
Как решить 8 номер?


#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
double real(const char* msg) {
auto value = 0.0;
do {
cout << msg;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
} while (fabs(value) >= 1.0);
return value;
}
double fact(int n) {
return n <= 0? 1 : double(n) * fact(n - 1);
}
double taylor(const double x, const double eps) {
auto mbr = 1.0;
auto sum = 1.0;
int n = 0;
do {
auto b = pow(2, n + 1) * fact(n + 1);
auto a = fact(2 * n) / (pow(2, n) * fact(n));
++n;
auto c = pow(x, n);
mbr = a / b * c;
sum += n & 1? mbr : -mbr;
} while (mbr >= eps);
return sum;
}
int main() {
auto x = real("x: ");
cout << "epsilon: ";
double eps;
cin >> eps;
auto control = sqrt(x + 1);
auto result = taylor(x, eps);
cout << fixed << setprecision(15)
<< " taylor: " << result << '\n'
<< "control: " << control << '\n';
system("pause > nul");
}
#include <iomanip>
#include <cmath>
using namespace std;
double real(const char* msg) {
auto value = 0.0;
do {
cout << msg;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
} while (fabs(value) >= 1.0);
return value;
}
double fact(int n) {
return n <= 0? 1 : double(n) * fact(n - 1);
}
double taylor(const double x, const double eps) {
auto mbr = 1.0;
auto sum = 1.0;
int n = 0;
do {
auto b = pow(2, n + 1) * fact(n + 1);
auto a = fact(2 * n) / (pow(2, n) * fact(n));
++n;
auto c = pow(x, n);
mbr = a / b * c;
sum += n & 1? mbr : -mbr;
} while (mbr >= eps);
return sum;
}
int main() {
auto x = real("x: ");
cout << "epsilon: ";
double eps;
cin >> eps;
auto control = sqrt(x + 1);
auto result = taylor(x, eps);
cout << fixed << setprecision(15)
<< " taylor: " << result << '\n'
<< "control: " << control << '\n';
system("pause > nul");
}
Очень просто - это же стандартная рекуррентная psq-техника (произведение, сумма, квалификатор)! Можно сумму ряда оформить в виде отдельной функции, а потом вводить иксы и эпсилоны чтобы сравнивать получающиеся суммы ряда со значениями выражений √(1+х). В общем так:


Похожие вопросы
- Задание 4 по Теме Функции. Перегрузка Функций. Рекурсия. На языке программирования C++
- Задача по программированию C++
- Программирование C++ ПРОШУ ПОМОЧЬ!
- Что такое #include <iostream>, std using namespace std В языке программирования C++?
- Контрольная по алгоритмизации и программированию! C++
- Язык программирования c++
- Нормальный ли язык программирования C для новичка ,что бы в дальнейшем перейти на C# ,C++,И в чем различие между ними?
- Основы программирования C++
- Программирование c++ программирование и работа со структурами
- Задание по программированию c++, буду благодарен помощи