Модуль cmath здесь не нужен, функцию у(х) лучше сделать отдельной от главной (зачем её в main пихать? экономить время на вызовах, что ли? фу, какая ерунда !) и цикл лучше сделать чуть другим, без плывущего x (тут то ладно, но на больших циклах этот х ведь и уплыть может куда ему ни за что не следует уплывать !), а чтобы он вычислялся на каждом шаге цикла максимально точно - это из элементарных основ вычислительной математики. При условиях, когда шаг h=0,2, x∈[-2;3], а функция определена как у Вас, значения функции у(х) будут иметь максимум две значащих цифры после запятой (остальные цифры после запятой будут нулями и непонятно тогда зачем эти нули печатать), поэтому надо как-нибудь так:
#include
#include
using namespace std;
double y(double x)
{
return x < 0 ? 1. - x * x :
(x>1.5 ? x*x*(2.5*x+6.)-30. : x+1.);
}
int main()
{
double h = 0.2, i, x;
cout
Что-то на студенческом, которое я представил в своем коде.
Буду очень благодарен.