Почему нормально не работает цикл 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 и выходите из цикла...
О целочисленности деления вам уже намекнули :)