Задача по плюсам

помогите решить данную задачу на C++ введите сюда описание изображения

делал что-то подобное, но не помогло:

void TEST()
{
    double h, a, b;
    do
    {
        cout << "Enter h( h > 0 ): ";
        cin >> h;
    } while (h <= 0);
    do
    {
        cout << "Enter a( a < b ): ";
        cin >> a;
        cout << "Enter b( b > a ): ";
        cin >> b;
    } while (a > b);
    for (int i = 0; i < (b - a) / h; i++)
    {
        double x = a + i * h;
        if (fabs(x) <= 0.1)
        {
            cout << "y(" << x << ") = " << x * x * x - 0.1 << endl;
            continue;
        }
        if (fabs(x) > 0.1 && fabs(x) <= 0.2)
        {
            cout << "y(" << x << ") = " << 0.2 * x - 0.1 << endl;
            continue;
        }
        if (fabs(x) > 0.2)
        {
            cout << "y(" << x << ") = " << x * x * x + 0.1 << endl;
            continue;
        }
    }
}

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

Автор решения: Danis
#include<iostream>

using namespace std;

void Test()
{
    double min, max, step;
    min = -5;
    max = 5;
    step = 0.1;
    for (double x = min; x < max; x += step)
    {
        cout << "y(" << x << ") = ";
        if (x < 1){
            cout << (x * x - 1) * (x * x - 1) << endl;
        }
        else if (x > 1){
            cout << 1 / ((1 + x) * (1 + x)) << endl;
        }
        else{
            cout << 0 << endl;
        }
    }
}
int main(int argc, char *argv[])
{
    Test();
} 
→ Ссылка