Предмет: Информатика, автор: guskov315

Напишите программу которя выведет значения I и T. (a, b, s, x, y вводит сам пользователь). Язык c++

Приложения:

guskov315: но функция работает в любом случае
restIess: Ну прост тут скобку можно потерять и ответ будет неправильный
guskov315: Т выводится, а при выводе I ошибка
restIess: какая ошибка?
guskov315: L = -1.#IND
restIess: Ошибка возникает из-за того, что где-то возникает невозможность проведения операции, типо деление на ноль/косинус больше 1 и тд
guskov315: Я пробовал вводить и дробные и целые числа. I не выводится. Значит ошибка в уравнении?
restIess: Ошибку даёт второй множитель, можешь сам проверить, cout << acos(s + (a + exp(-(s + b * a))) / (sqrt(b + abs(sqrt(s) + 5))));
restIess: Тут даже не ошибка в уравнении, мы просто не можем подобрать нужные значения для s, a, b
restIess: s = 0.1, a = 2, b = 3, при таких получается все хорошо с арккосинусом и ошибку не получаем из-за него

Ответы

Автор ответа: restIess
1

#include <iostream>

#include <cmath>

using namespace std;

signed main() {

double s, a, b;

double x, y;

cin >> s >> a >> b >> x >> y;

double l = exp((s + 1) / (sqrt(a * b))) * acos(s + (a + exp(-(s + b * a))) / (sqrt(b + abs(sqrt(s) + 5))));

double T = tan(abs(2 + log(x))) * pow(x - pow(y, 5), 1/4) / (sin((y - 1) / (sqrt(x + cos(y * y)))));

cout << "L = " << l << endl;

cout << "T= " << T << endl;

return 0;

}

Похожие вопросы
Предмет: Математика, автор: Egor110691