Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не работает код на C#

Кирилл Грибанов-Подкин Ученик (89), на голосовании 3 недели назад
double a, x, y;
Console.WriteLine("Число черкани мигом");
x = Convert.ToInt32(Console.ReadLine());
a = Math.Pow(x, 3);
y = Math.Sqrt(5 - a);
Console.WriteLine(y);
выводит в консоль (не число)
Голосование за лучший ответ
Михаил Пластов Ученик (176) 1 месяц назад
Дай пж лучший ответ:)
проблема возникает на этапе
вычисления квадратного корня. Если значение `a` больше 5, то выражение `5 - a` будет отрицательным, а взятие квадратного корня из отрицательного числа невозможно.
Чтобы исправить ошибку, можно добавить проверку на то, что `a` не превышает 5. Например:

double a, x, y; Console.WriteLine("Число черкани мигом"); x = Convert.ToInt32(Console.ReadLine()); a = Math.Pow(x, 3); if (a < 5) { y = Math.Sqrt(5 - a); Console.WriteLine(y); } else { Console.WriteLine("Невозможно вычислить квадратный корень."); }

Это позволит избежать ошибки и обработать случаи, когда введенное число приводит к отрицательному значению под корнем.
www www Искусственный Интеллект (136145) 1 месяц назад
А что выводит? А что вы вводите? при вводе1 нормально отрабатывает, например...
Jurijus Zaksas Искусственный Интеллект (456586) 1 месяц назад
Нормально работает для любого х < [3]√5
Похожие вопросы