Cоставить программу вычисления арифметического выражения для
заданных значений x, y, z :
C++
![](https://st.uroker.com/files/a97/a97c34598df0d63c58be31214823cb49.png)
Ответы
Ответ:
#define _USE_MATH_DEFINES
#include <iostream>
#include <math.h>
int main()
{
setlocale(LC_ALL, "rus");
double x, y, z, result;
std::cout << "Введите x,y,z: \n";
std::cin >> x >> y >> z;
result = tan(x + y) - pow(M_E, y - z) * sqrt(cos(pow(x, 2)) + sin(pow(z, 2)));
std::cout << "Результат: " << result;
}
Этот код не проверяет корректность введённых данных.
То есть если x+y будет равен π/2 или выражение под корнем будет отрицательным, будет ошибка приложения
Такой вариант с обработкой исключений
#define _USE_MATH_DEFINES
#include <iostream>
#include <math.h>
int main()
{
setlocale(LC_ALL, "rus");
double x, y, z, result, result2;
std::cout << "Введите x,y,z: \n";
std::cin >> x >> y >> z;
try
{
result2 = cos(pow(x, 2)) + sin(pow(z, 2));
if (result2 < 0) throw "подкоренное выражение меньше нуля";
if ((x + y) == M_PI_2) throw "тангенс не определён";
result = tan(x + y) * pow(M_E, y - z) * sqrt(result2);
std::cout << "Результат: " << result;
}
catch(const char* exception)
{
std::cout << "Результат не может быть вычислен поскольку " << exception;
}
}