Определить пересекаются ли прямоугольники - C (СИ)
Формулировка задачи:
пересекаются ли 2 прямоугольника.
на вход программы передается 16 чисел, представляющих координаты 2х прямоугольников:
x1 y1 x2 y2 x3 y3 x4 y4 a1 b1 a2 b2 a3 b3 a4 b4
где (x,y) координаты одного прямоугольник ,а (a,b) координаты другого
программа должна возвращать 1, если прямоугольники пересекаются и 0, если нет.
Прямоугольники лежат в одной плоскости.
Решение задачи: «Определить пересекаются ли прямоугольники»
textual
Листинг программы
if ( x0 > x3 || /* первый правее второго */
x1 < x2 || /* первый левее второго */
y0 > y3 || /* первый ниже второго */
y1 < y2 || /* первый выше второго */
) {
// не пересекаются
} else {
// пересекаются или совпадают
}
Объяснение кода листинга программы
- Проверяется условие
x0 > x3 || x1 < x2. - Если условие выполняется, то значит прямоугольники не пересекаются и программа переходит к блоку кода
/* не пересекаются */. - Если условие не выполняется, то значит прямоугольники пересекаются или совпадают и программа переходит к блоку кода
/* пересекаются или совпадают */.