#include <iostream> #include <cmath> using namespace std; #define eps 1e-5 double f(double x) { static char Znak = 1; static unsigned int k = 0; static unsigned long long int Fact = 1; static long double St = 1, Summa = 0; double an; if (k) { St *= x * x; Fact *= 2 * k * (2 * k + 1); } else //при k = 0 { St = x; Fact = 1; } an = (double)Znak * St / Fact; if (fabs(an) < eps) return Summa; k++; Znak *= -1; Summa += an; f(x); return Summa; } int main() { double x = 0.5; cout << "sin(0.5) = " << f(x) << "\n"; cout << "sin(0.5) system = " << sin(0.5) << "\n"; return 0; } Код #include <iostream> #include <cmath> using namespace std; #define eps 1e-5 double f(double x) { static char Znak = 1; static unsigned int k = 0; static unsigned long long int Fact = 1; static long double St = 1, Summa = 0; double an; if (k) { St *= x * x; Fact *= 2 * k * (2 * k + 1); } else //при k = 0 { St = x; Fact = 1; } an = (double)Znak * St / Fact; if (fabs(an) < eps) return Summa; k++; Znak *= -1; Summa += an; f(x); return Summa; } int main() { double x = 0.5; cout << "sin(0.5) = " << f(x) << "\n"; cout << "sin(0.5) system = " << sin(0.5) << "\n"; return 0; } Нужно сделать чтобы x было [0;П/2], шаг П/12 не понимаю как в мейне пытался цикл сделать, чет вводит одно и тоже значение не изменяется