Top.Mail.Ru
Ответы

Прошу помочь с разложение в ряд на си++

задача элементарная, но почему то значение не совпадает с калькулятор, нужно разложить косинус в ряд тейлора.
код программы
#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");
}
сижу уже долго и все равно не понимаю как это не может работать

По дате
По рейтингу
Аватар пользователя
Новичок
6лет

А кто исключал вариант, что ошибка в твоем калькуляторе)) И обязательно было задавать вопрос в разделе Java))

Аватар пользователя
Мудрец
6лет

Что бы совпадало с калькулятором надо конвертировать вводимые тобой градусы в радианы... то есть после ввода икс умножить его на 0,0174533

Либо в калькуляторе просто отметку на радианах поставить.

Аватар пользователя
Мыслитель
6лет

Считаешь в радианах или градусах? Калькулятор по моему по умолчанию считает в радианах.