Даны действительные числа x и y. Определить, лежит ли точка с координатами (x, y) внутри заштрихованной области. Программа на C++. Желательно не особо сложным способ. И через if и else
![](https://st.uroker.com/files/e5e/e5ee56a9f1d4b2cdfa8fbfb6e2bcf8e4.jpg)
Ответы
Ответ:
#include <iostream>
#include <cmath>
int main()
{
double x, y;
// x и у вводит пользователь
x = 0.99;
y = 0.99;
if ((-1 < x and x < 1) and (-1 < y and y < 1) and (sqrt(x*x + y*y) > 1)) {
std::cout << "True";
} else {
std:: cout << "False";
}
return 0;
}
Объяснение:
Для начала поймём, как определить, лежит ли точка внутри квадрата (границу не будем учитывать).
Для этого нужно проверить, что х и у лежат в интервале (-1;1).
Т. е. (-1 < x < 1) и (-1 < y < 1)
Определить, лежит ли точка внутри окружности можно, найдя длину вектора R из точки (0;0) к точке (х;у). Если длина этого вектора меньше 1, то точка лежит внутри окружности (если равна 1, то на окружности), Если больше - лежит вне окружности (что нам и надо), т. е. ещё одно условие: R > 1. Длину вектора можно найти по формуле R = sqrt(x^2 + y^2)
Получилось 3 условия: (-1 < x < y) и (-1 < y < 1) и R > 1