Прошу помочь с разложение в ряд на си++
задача элементарная, но почему то значение не совпадает с калькулятор, нужно разложить косинус в ряд тейлора.
код программы
#include "pch.h"
#include
#include
using namespace std;
double cosx(double x)
{
double n = 1.0;
double sum = 0.0;
int i = 1;
do
{
sum += n;
n *= -1.0 * x * x / ((2 * i - 1) * (2 * i));
i++;
} while (fabs(n) > 0.0001);
return sum;
}
int main()
{
double x;
cin >> x;
cout << cosx(x);
system("PAUSE");
}
сижу уже долго и все равно не понимаю как это не может работать
А кто исключал вариант, что ошибка в твоем калькуляторе)) И обязательно было задавать вопрос в разделе Java))
Что бы совпадало с калькулятором надо конвертировать вводимые тобой градусы в радианы... то есть после ввода икс умножить его на 0,0174533
Либо в калькуляторе просто отметку на радианах поставить.
Считаешь в радианах или градусах? Калькулятор по моему по умолчанию считает в радианах.