Получение странного вывода от вычисления sin (x)

Я пытаюсь создать программу, которая может вычислить sin(x) дано x и значение n,

Я знаю, что грех можно вычислить как:

x - x3/3! + x5/5! - x7/7! + x9/9!...

Но вывод дает мне одно и то же число каждый раз: -2147483648,

Вот мой код:

#include <iostream>
#include <cmath>
using namespace std;

int factorial(int);

int main() {

int ans = 0;
double x = 0;
int n = 0;

cout << "Enter x value: ";
cin >> x;
x = x * (3.14159 / 180);
cout << endl;
cout << "Enter n value: ";
cin >> n;

ans = pow(x, 1 + (2 * n)) / factorial(1 + (2 * n));

cout << ans << endl;

return 0;
}

int factorial(int a) {
int facts = 0;

for (int i = 0; i <= a; i++) {
facts *= i;
}
return facts;
}

0

Решение

facts инициализируется в 0 в вашей функции factorial, так что он всегда возвращает 0. Инициализируйте его на 1. То же самое происходит с вашим циклом, начиная с 0, умножая facts с i=0, Пытаться:

int factorial(int a) {
int facts = 1;

for (int i = 2; i <= a; i++) {
facts *= i;
}
return facts;
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector