Записать условие, которое является истинным, когда точка с координатами (x, y) попадает в заштрихованные участки
Записать условие, которое является истинным, когда точка с координатами (x, y) попадает в заштрихованные участки.
Вот мои попытки кода но работает он не корректно,скорее всего ошибка в строке
if (((x <= 1) && (y <= 1))||((x>=-1)&&(y>=-1))) но не понимаю что не так
#include <iostream>
#include <Windows.h>
using namespace std;
int main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int x, y;
cout << "Введіть х" << endl;
cin >> x;
cout << "Введіть y" << endl;
cin >> y;
if (((x <= 1) && (y <= 1))||((x>=-1)&&(y>=-1))) {
cout << "умова істина" << endl;
}
else {
cout << "умова хибна" << endl;
}
system("pause");
return 0;
}
Ответы (1 шт):
Автор решения: wololo
→ Ссылка
Учитывая размеры заштрихованных областей, можно предположить, что входные данные являются числами с плавающей точкой. Поэтому необходимо объявить переменные x и y с соответствующим типом. Например, double:
double x, y;
Проверяем принадлежность точки (x, y) квадрату:
bool in_square = (-1 <= x && x <= 0) && (-1 <= y && y <= 0);
Проверяем принадлежность точки (x, y) треугольнику:
bool in_triangle = x >= 0 && y >= 0 && y <= 1 - x;
Проверяем, находится ли точка в закрашенной области:
bool result = in_square || in_triangle;
