Форум сайта python.su
0
Помогите решить задачу:
Прямоугольник со сторонами, параллельными осям координат, можно задавать кортежем (x1, y1, x2, y2), где (x1, y1) и (x2, y2) – координаты верхнего левого и нижнего правого углов. Объявить функцию intersect(p1, p2), которая получает два прямоугольника (т.е. два кортежа) и возвращает третий прямоугольник (т.е. кортеж)– пересечение двух заданных. Если заданные прямоугольники не имеют общей части, функция возвращает кортеж (0, 0, 0, 0).
Офлайн
0
Если вводят правильно,т.е. x1<x2 b и т.д.,то точки пересечения легко найти
int x5 = max(x1, x3);
int y5 = max(y1, y3);
int x6 = min(x2, x4);
int y6 = min(y2, y4);
если пересечения нет,то получится “неправильный” прямоугольник x5>x6 и т.д.
Вроде так.
Офлайн