Другие языки программирования и технологии

Нужна помощь програмистов [Задача С++]

MA
Maksat Abdeev
105
// _70741466
#include <iostream>
using namespace std;
#define RAD 57.295779513082320876798154814105
#define PI 3.1415926535897932384626433832795
#define PI_2 1.5707963267948966192313216916398

int main()
{
setlocale(LC_CTYPE, "Russian_Russia.1251");

int a = 1, b = 2, c = 3;
double x, y, t1, t2, arg1, arg2, arg3, arg4, e = 1e-12;
bool xf = true, yf = true;

cout << " Введите X: ";
cin >> x;
while (x >= 360) { x -= 360; }
x /= RAD;
cout << " Введите Y: ";
cin >> y;

if (a * x + b == 0 || (y * x + a) / (a * x + b) <= 0)
{
cout << endl << " t1 имеет недопустимые аргументы! \a";
xf = false;
}
else t1 = 1. / c * (1 / (a * x + b) + (y / c) * log((y * x + a) / (a * x + b)));

arg1 = abs(cos(x));
arg2 = 2 * a * pow(cos(x), 2);
arg3 = a * x / 2;
arg4 = tan(a * x / 2);

if (arg1 < e || arg2 == 0 || abs(arg3 - PI_2) < e || abs(arg3 - 1.5 * PI) < e || arg4 - e <= 0)
{
cout << endl << " t2 имеет недопустимые аргументы! \a";
yf = false;
}
else t2 = sin(a * x) / arg2 + (1. / (2 * a)) * log(arg4);

if (xf) cout << endl << " t1 = " << t1;
if (yf) cout << endl << " t2 = " << t2;

cin.get(); cin.get();
return 0;
}
СК
Сергей Коньшин
74 603
Лучший ответ