C/C++

Помогите с задачей по C++

Вычислить и вывести на экран в виде таблицы значения функции, заданной графически , на интервале от хнач до хкон с шагом dx. Таблицу снабдить заголовком и шапкой.
#include <iostream>
#include <cmath>
using namespace std;
float y(float x)
{
float Y = 0.0;
if(x >= -4.0 && x < -2.0)
{
Y = x + 3.0;
}
else if(x >= -2.0 && x < 0.0)
{
Y = -x / 2.0;
}
else if(x >= 0.0 && x < 2.0)
{
Y = 0.0;
}
else if(x >= 2.0 && x < 4.0)
{
Y = -x + 2.0;
}
else if(x >= 4.0 && x < 6.0)
{
Y = -2.0;
}
else if(x >= 6.0 && x <= 10.0)
{
Y = -2.0 + sqrt(2.0 * 2.0 - (x - 8.0) * (x - 8.0));
}
return Y;
}
int main()
{
float x0, xn, dx;
do
{
cout << "Введите начальное значение x: ";
cin >> x0;
}while(x0 < -4.0 || x0 > 10.0);
do
{
cout << "Введите конечное значение x: ";
cin >> xn;
}while(xn <= x0 || xn > 10.0);
do
{
cout << "Введите шаг: ";
cin >> dx;
}while(x0 + dx > 10.0);
cout << endl << "\tТаблица значений функции." << endl;
cout << 'x' << '\t' << 'y' << endl;
for(float x = x0; x <= xn; x += dx)
{
cout << x << '\t' << y(x) << endl;
}
return 0;
}
Александр Свежинин
Александр Свежинин
63 270
Лучший ответ