Почему нормально не работает цикл for? Я так понял, что здесь переменная n не итерируется, а остается на нуле

 double sum = 0, 
           a_i = 0,
           dbl_n = 0,
           n_in_cube = 1;
    const double eps = 0.00001;
    int q1 = 0, q2 = 1;

    for (int n = 0; ; q1 = -q1, n++)
    {
        dbl_n = n;
        q2 = dbl_n * dbl_n * dbl_n;
        a_i = (q1 * (1 - ((q2 + 1) / (q2 + 5))));

        if (fabs(a_i) >= eps)
        {
            sum += a_i;
        }
        else break;

        if (n == 9)
        {
            printf("Сумма 10 членов ряда = %10.7lf\n", sum);
        }

    }

Ответы (1 шт):

Автор решения: Harry
int q1 = 0;

....

a_i = (q1 * (1 - ((q2 + 1) / (q2 + 5))));

Тут у вас a_i просто нуль. Просто потому, что q1*...

if (fabs(a_i) >= eps)

Понятно, что вы попадаете в ветвь else и выходите из цикла...

О целочисленности деления вам уже намекнули :)

→ Ссылка