Вхождение точки в заштрихованную облость
задача из степика. не могу найти свою ошибку. вот мой код: a - верхний левый квадрат. b - верхний правый квадрат. с - нижний. d - область с вхождениями.
Требуется написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости (x x x, y y y - действительные числа) и определяется принадлежность этой точки заданной заштрихованной области (включая границы). В случае, если точка внутри заштрихованной области -- выведите слово "Inside", если снаружи - "Outside".
#include <iostream>
using namespace std;
int main() {
double x , y;
cin >> x >> y;
bool a = ( x >= -4) && (x <= -2) && ( y >= 2) && ( y <= 4);
bool b = (x >= -1) && (x <= 1) && (y >= 2) && ( y <= 4);
bool c = (x >= -4) && ( x <= 1) && (y >= -2) && ( y <= 0);
bool d = (x >= -5) && ( x <= 2) && ( y >= -3) && (y <= 5);
if(d && !a && !b && !c){
cout << "Inside";
}else{
cout << "Outside";
}
return 0;
}
Ответы (1 шт):
Автор решения: PashaFromBY
→ Ссылка
#include <iostream>
using namespace std;
int main() {
// put your code here
double x , y;
cin >> x >> y;
bool a = ( x > -4) && (x < -2) && ( y > 2) && ( y < 4);
bool b = (x > -1) && (x < 1) && (y > 2) && ( y < 4);
bool c = (x > -4) && ( x < 1) && (y > -2) && ( y < 0);
bool d = (x >= -5) && ( x <= 2) && ( y >= -3) && (y <= 5);
if(d && !(a || b || c)){
cout << "Inside";
}else{
cout << "Outside";
}
return 0;
}
