Не могу понять что за 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;
}
→ Ссылка