Форум программистов, компьютерный форум CyberForum.ru

Найти площадь фигуры, получающейся в результате объединения прямоугольников - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.58
MilitaNt
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 21
16.06.2012, 12:12     Найти площадь фигуры, получающейся в результате объединения прямоугольников #1
Помогите пожалуйста решить мне задачу...

На координатной плоскости задано N прямоугольников со сторонами, параллельными координатным осям. Найти площадь фигуры, получающейся в результате объединения прямоугольников.
Ввод из файла INPUT.TXT. В первой строке содержится значение N (1 <= N <= 300). В каждой из следующих N строк – четыре целых числа Ai, Bi, Ci, Di через пробел, определяющие координаты левого верхнего и правого нижнего углов очередного прямоугольника (-1000 <= Ai, Bi, Ci, Di <= 1000).
Вывод в файл OUTPUT.TXT единственного целого числа – площади фигуры.
Пример
Ввод
2
5 15 25 5
0 10 20 0
Вывод
325
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2012, 12:12     Найти площадь фигуры, получающейся в результате объединения прямоугольников
Посмотрите здесь:

Найти площадь общей части прямоугольников C++
C++ Найти площадь пересечения прямоугольников
C++ Найти приблизительную площадь фигуры по функциям
C++ Найти площадь фигуры С++ (Visual Studio 2010)
C++ Проблема с циклом. Найти площадь фигуры ограниченной линиями.
C++ Найти периметр и площадь пяти прямоугольников по известным сторонам
C++ Определить площадь фигуры, образованной объединением прямоугольников
Даны стороны трех прямоугольников Найти периметры и площади этих прямоугольников C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UFO94
 Аватар для UFO94
263 / 252 / 13
Регистрация: 04.04.2012
Сообщений: 546
16.06.2012, 13:16     Найти площадь фигуры, получающейся в результате объединения прямоугольников #2
Упрощает ситуацию то, что два прямоугольника пересекаются опять- таки по прямоугольнику. Для начала, определим, как именно мы будем искать площадь. Просуммируем площадь всех прямоугольников. Теперь площадь пересечений мы посчитали как минимум дважды. Отнимем сумму площадей прямоугольников, получаемых попарным пересеченим. Теперь мы как минимум дважды отняли тройные пересечения, и это не хорошо. Добавляем суммарную площадь попарных пересечений предидущих прямоугольников, т. е. Прямоугольников, получаемых попарным пересечением исходных. Итого, нам понадобится функция, находящая прямоугольник, по которому пересекаются два заданых. Сама программа при этом будет выглядеть так: считываем из файла массив прямоугольников, находим суммарную площадь прямоугольников. Образовываем массив прямоугольников- пересечений. Находим их суммарную площадь, отнимаем от первой. Теперь находим массив пересечений предидущих прямоугольников, находим суммарную площадь, добавляем и т. д., пока у нас очередной массивне будет пустым. На счет реализации, прямоугольники ИМХО лучше сделать классом, а основную программу -- с помощью рекурсии.
Yandex
Объявления
16.06.2012, 13:16     Найти площадь фигуры, получающейся в результате объединения прямоугольников
Ответ Создать тему
Опции темы

Текущее время: 03:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru