Я пытаюсь создать программу, которая может вычислить 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;
}
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;
}
Других решений пока нет …