Определить, лежит ли один прямоугольник внутри другого - C (СИ)
Формулировка задачи:
Прямоугольник задается координатами противоположных вершин. Заданы два прямоугольника . Определить, лежит ли один прямоугольник внутри другого.
Решение задачи: «Определить, лежит ли один прямоугольник внутри другого»
textual
Листинг программы
#include <stdio.h> typedef struct point { double x,y; }; typedef struct rect { point a,b; }; void set (rect &p) { double temp; if (p.a.x>p.b.x) { temp=p.a.x; p.a.x=p.b.x; p.b.x=temp; } if (p.a.y>p.b.y) { temp=p.a.y; p.a.y=p.b.y; p.b.y=temp; } } int inside (rect p1, rect p2) { return (p2.a.x<=p1.a.x && p1.b.x<=p2.b.x && p2.a.y<=p1.a.y && p1.b.y<=p2.b.y ? 1 : 0); } void main () { rect p1 = { {3,2}, {1,1} }, p2 = { {0,5}, {4,0} }; set (p1); set (p2); printf ("\n%s",inside(p1,p2)?"Yes":"No"); getchar (); }
Объяснение кода листинга программы
- Подключение стандартной библиотеки
- Объявление структуры point, представляющей точку в двумерном пространстве
- Объявление структуры rect, представляющей прямоугольник в двумерном пространстве
- Функция set выравнивает координаты прямоугольника по оси ординат
- Функция inside проверяет, лежит ли один прямоугольник внутри другого
- Объявление переменных p1 и p2 типа rect
- Вызов функции set для прямоугольника p1
- Вызов функции set для прямоугольника p2
- Вывод на экран результата сравнения с помощью функции printf
- Ожидание нажатия клавиши с помощью функции getchar
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д