Определите попадание произвольной точки в заштрихованную область - C (СИ)
Формулировка задачи:
определите попадание произвольной точки в заштрихованную область.
[ссылка удалена]
Я написал, но когда запускаю программу и ввожу числа то он ни как не реагирует, т.е ввожу допустим:
x=2
y=3 и он мне снова просит ввести "x", помогите найти ошибку
int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL, "Russian"); setlocale(LC_ALL, "rus"); double x, y; while (true) { cout << "x="; cin >> x; cout << "y="; cin >> y; if (x > -1.5 && x < 1.5 && y < 1 && y > -1) { if (sqrt(pow(y, 1.5) + pow(x, 1.5)) < 1 && (abs(y / x) > 0.5)) cout << "Попал" << endl; else if (sqrt(pow(y, 1.5) + pow(x, 1.5)) > 1 && (abs(y / x) < 0.5)) cout << "Попал" << endl; else cout << "Не попал" << endl; } } return 0; }
Решение задачи: «Определите попадание произвольной точки в заштрихованную область»
textual
Листинг программы
if (x > -1.5 && x < 1.5 && y < 1 && y > -1) { if (sqrt(pow(y, 1.5) + pow(x, 1.5)) < 1 && (abs(y / x) > 0.5)) cout << "Попал" << endl; } else { cout << "Не попал" << endl; }
Объяснение кода листинга программы
- В условии первого оператора if проверяется, попадает ли точка (x, y) в прямоугольник, ограниченный координатами (-1.5, 1.5) и (1.5, -1.5).
- Во втором условии проверяется, попадает ли точка (x, y) в область, заштрихованную с помощью функции sqrt(pow(y, 1.5) + pow(x, 1.5)), где 1.5 - это экспонента.
- Третье условие проверяет, попадает ли отношение y/x в интервал (0.5, 2), используя функцию abs(y/x) для получения абсолютного значения.
- Если все три условия выполняются, выводится сообщение
Попал
. - Если хотя бы одно из условий не выполняется, выводится сообщение
Не попал
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д