Условие задачи (17.4)
Условие
Принадлежит ли точка [latex](x;y)[/latex] фигуре на рисунке? Пожалуйста повторите в своём отчёте рисунок, выполнив его в формате SVG.
Тесты
x | y | Ответ |
4 | 3 | yes |
1 | 4 | yes |
2 | 2 | no |
6 | 2 | no |
-1 | 0 | no |
Решение
Точки, которые принадлежат ромбу, находятся между линиями, которые создают этот ромб.
Можно заметить, что эти сумма координат этих точек находится в сегменте между [latex]5[/latex] и [latex]11[/latex]:
- [latex]5\leq x+y\leq 11[/latex];
Их разность в сегменте от [latex]-3[/latex] до [latex]3[/latex]:
- [latex]-3\leq x-y\leq 3[/latex];
Если сумма или разность данных координат больше или меньше заданых чисел, то точка не принадлежит ромбу.
Код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include <iostream> using namespace std; int main() { double x, y; cin >> x >> y; if ((x+y>=5 && x+y<=11 && x-y>=-3 && x-y<=3)) { cout <<"yes"; } else { cout << "no"; } return 0; } |
Код на IDEONE
Для отправки комментария необходимо войти на сайт.