Не могу понять что за nan(ind) в задаче с функциями
Чтобы долго не мусолить, просто прикреплю задание, мне не нужно его решение, я просто не понимаю почему в результате мне выдает nan(ind)
double function(double a) {
return (atan(1) * 4) / 2;
}
double sum(double a, double b) {
double result = 0;
int i = 0;
do {
result += sin(i * a) / i;
i++;
} while (abs(function(a) - result) >= b);
return result;
}
void main() {
setlocale(LC_ALL, "Russian");
double E = 0.001;
double x1 = 0.05, x2 = 0.5, x3 = 3;
cout << function(x1) << endl;
cout << sum(x1, E) << endl;
cout << function(x1) << endl;
cout << sum(x2, E) << endl;
cout << function(x1) << endl;
cout << sum(x3, E) << endl;
}
Ответы (1 шт):
Автор решения: EOF
→ Ссылка
У Вас в строке
result += sin(i * a) / i;
происходит деление на ноль. Начинать нужно с 1.
Ещё одна проблема связана с функцией function. Она игнорирует передаваемый ей аргумент. Она должна иметь вид
double function(double a) {
return (atan(1) * 4 - a) / 2;
}

