Ответ:
#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 или выражение под корнем будет отрицательным, будет ошибка приложения
Такой вариант с обработкой исключений
double x, y, z, result, result2;
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);
catch(const char* exception)
std::cout << "Результат не может быть вычислен поскольку " << exception;
Copyright © 2024 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
Ответ:
#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;
}
}