Как создать двойной предел в цикле while?Си

У меня есть такая задача - вычислить произведение положительных значений функции Y=(x+1)^3 в пределах 0<=x<=3.5 з шагом t=0.4 Как мне задать два промежутка от -3.5 до 0.5 и настроить правильно шаги?

#include <stdio.h>

void main()
{
    printf("Введите X");
    float x,t;
    scanf("%f",&x);
    t = 0.4;
    while(x >0){
    while (x <= 3.5){
        printf("Cчетчик %f \n",t);
        x = (x+1)*(x+1)*(x+1);
        printf("Значение %f",x);
        t = t + 0.4;

    }

}
}



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

Автор решения: tewboat

Во-первых, переменной x можно присвоить значение равное нижней границе промежутка. Следовательно, можно убрать один while. Останется один while с ограничением на верхнюю границу. Дальше нужно вычислить значение функции и сохранить значение в отдельную переменную (не в x). Проверим полученное значение на положительность и, в случае успеха, домножим произведение всех ранее вычисленных значений на новое. Спойлер: для этого понадобится еще одна переменная. И в самом конце прибавляем к x шаг t.

→ Ссылка
Автор решения: Sanya H

Примерно так:

#include <stdio.h>
void main()
{
    printf("Введите X");
    float x,t, res, tmp;
    scanf("%f",&x);
    t = 0.4;
    x = 0.0;
    res = 1.0;
    while (x <= 3.5){
        printf("Cчетчик %f \n",t);
        tmp = pow(x+1, 3);
        if (tmp > 0) {
          res *= tmp;
        }
        x += t;

    }    
    printf("Значение %f",res);
}
→ Ссылка