Дана следующая задача:Рассчитать значение у при заданном значении х: у = sin²x при х>0; 1-2sinx² в противном случае
Поставил к ней решение , для x>0 функция выполнятся правильно и находит верный ответ , но при x<0 при вычислении sin если в ответе он должен получится отрицательным то в программе он выдает положительный результат , из-за чего следующие операции выполняются неверно, что не так не могу понять?
Приложения:
lozromanik:
Приведи пример неправильного вывода и правильного ответа
Допустим ввожу число 5 , выдает ответ у=0.919536
Ответ верный
Но если введу -5 ответ должен быть 0.735296 но программа выдает ответ у=1.2647
Причем если в выражении у =1-(2*sin(pow(x,2)))
Поставить перед sin знак минус и отделить от умножения ( ) то ответ будет выходить верным
Но он не должен ведь работать таким образом что я должен ставить знак минуса перед sin
Ответы
Ответ дал:
0
Ответ:
Попробуй через else if (x < 0), и еще так сделать:
double p = pow(x,2);
y = 1 - (2*sin(p));
К сожалению и это не помогло , помогает только если поставить знак минуса перед sin я решил проверить , и оставил лишь выражение sin(pow(x,2) результат при введении -5 должен быть положительным но в консоли мне выдает отрицательный вариант
Вас заинтересует
2 года назад
2 года назад
3 года назад
3 года назад
8 лет назад
8 лет назад