1. Составить таблицу значений функции при хн< х < хк с шагом h действительного типа.
2. Выполнить задание двумя способами:
- с использованием оператора for;
- с использованием оператора while.

// for
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double xn,xk,h,c,y,b;
cout << "xn = ";
cin >> xn;
do
{
cout << "xk = ";
cin >> xk;
}while(xk <= xn);
do
{
cout << "h = ";
cin >> h;
}while(h <= 0.0 || h > (xk - xn));
cout << "y = ";
cin >> y;
cout << "b = ";
cin >> b;
cout << "\tТаблица значений функции." << endl;
cout << 'x' << '\t' << 'c' << endl;
// for
for(double x = xn + h; x < xk; x += h)
{
// ОДЗ
if(b > 0.0)
{
if((x+y) == 0.0)
{
cerr << "Знаменатель равен нулю -- ошибка!" << endl;
return 1;
}
}
c = atan(x) - 3.0/5.0 * exp(x*y) + 0.5 * abs(x+y)/pow(x+y,b);
cout << x << '\t' << c << endl;
}
return 0;
}
// while // ********************************************************** //
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double xn,xk,h,c,y,b;
cout << "xn = ";
cin >> xn;
do
{
cout << "xk = ";
cin >> xk;
}while(xk <= xn);
do
{
cout << "h = ";
cin >> h;
}while(h <= 0.0 || h > (xk - xn));
cout << "y = ";
cin >> y;
cout << "b = ";
cin >> b;
cout << "\tТаблица значений функции." << endl;
cout << 'x' << '\t' << 'c' << endl;
// while
double x = xn + h;
while(x < xk)
{
// ОДЗ
if(b > 0.0)
{
if((x+y) == 0.0)
{
cerr << "Знаменатель равен нулю -- ошибка!" << endl;
return 1;
}
}
c = atan(x) - 3.0/5.0 * exp(x*y) + 0.5 * abs(x+y)/pow(x+y,b);
cout << x << '\t' << c << endl;
x += h;
}
return 0;
}