Даны действительные числа x и y. Определить, лежит ли точка с координатами (x, y) внутри заштрихованной области. Программа на C++. Желательно не особо сложным способ. И через if и else ​
Ответ
5 (3 оценки)
2
balakine977 2 года назад
Светило науки - 121 ответ - 0 раз оказано помощи

Ответ:

#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

Остались вопросы?