Определить, лежит ли один прямоугольник внутри другого - 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 ();
}

Объяснение кода листинга программы

  1. Подключение стандартной библиотеки
  2. Объявление структуры point, представляющей точку в двумерном пространстве
  3. Объявление структуры rect, представляющей прямоугольник в двумерном пространстве
  4. Функция set выравнивает координаты прямоугольника по оси ординат
  5. Функция inside проверяет, лежит ли один прямоугольник внутри другого
  6. Объявление переменных p1 и p2 типа rect
  7. Вызов функции set для прямоугольника p1
  8. Вызов функции set для прямоугольника p2
  9. Вывод на экран результата сравнения с помощью функции printf
  10. Ожидание нажатия клавиши с помощью функции getchar

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.75 из 5
Похожие ответы