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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ronny137
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 61
#1

пересекающиеся прямоугольники - C++

17.05.2011, 19:07. Просмотров 650. Ответов 0
Метки нет (Все метки)

В каждой строчке входного файле заданы координаты левого нижнего угла и координаты правого верхнего угла прямоугольника на плоскости (для отделения одних элементов от других может использоваться произвольное число пробелов), например:
#1 (1, 2) ( 4, 3 )
#4 (2, 5) ( 3, 8 )
#2( 0, 4) (5,6)
#7 (3, 0) (5, 2)
Символ «#» начинает запись об очередном прямоугольнике. Далее следует номер прямоугольника (положительное целое число, номер должен быть уникален, номера не обязательно образуют ряд последовательных значений). Далее задаются координаты пары точек.
Стороны прямоугольников параллельны осям координат. Общая задача состоит в нахождении всех пар пересекающихся прямоугольников (считать прямоугольники пересекающимися, если они имеют хотя бы одну общую точку). В выходной файл должны быть выведены номера прямоугольников для каждой такой пары, например:
#1 пересекается с #7
#4 пересекается с #2
Если пересекающихся прямоугольников нет, сообщить об этом.
В решении должны появиться следующие классы: Класс Point для представления точки на плоскости и операций над точками. Класс Rectangle для представления прямоугольника и операций над ним, например, класс должен содержать метод, проверяющий, пересекается ли данный прямоугольник с другим. Класс RectangleArray для представления массива прямоугольников и реализации основных операций. В частности, при добавлении прямоугольника в массив, должна осуществляться проверка, не совпадает ли номер прямоугольника с номерами ранее введенных прямоугольников (храните прямоугольники в порядке возрастания их номеров и реализуйте бинарный поиск прямоугольника в массиве).
Для взаимодействия с пользователем разработайте простое приложение Windows, содержащее команду меню для загрузки диалогового окна, позволяющего задать имя файла, и выводящее в клиентскую область фреймового окна загруженные прямоугольники.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2011, 19:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос пересекающиеся прямоугольники (C++):

3 взаимно пересекающиеся окружности - C++
1. Окружность на плоскости может быть задана координатами x, y ее центра и радиусом r. Пусть даны соответствующие характеристики нескольких...

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

Взаимно пересекающиеся хидеры у двух файлов - C++
MyLib.h: #include "..\MyLib\MyLib_dev_h.h" namespace MyLib { class Lib1 { public: int A;

Определить, имеются ли три прямые, пересекающиеся в одной точке - C++
Прямая на плоскости может быть задана уравнением a*x + b*y + с = 0, где a и b одновременно не равны нулю. Будем рассматривать прямые только...

Выявить все треугольники, не пересекающиеся с другими треугольниками этого набора - C++
Всем привет! Пишу курсовик, столкнулся проблемой на самом важном пункте моей поставленной задачи: На плоскости имеется набор...

Определить, имеются ли среди этих окружностей три параллельно пересекающиеся - C++
Окружность на плоскости может быть задана координатами x, y ее центра и радиусом r. Пусть даны соответствующие характеристики нескольких...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2011, 19:07
Привет! Вот еще темы с ответами:

Равновеликие прямоугольники - C++
Привет ребята ) нужна помощь с заданием по с++ Найти все равновеликие прямоугольники, стороны которых выражены целыми числами a и b, а...

Задача на прямоугольники С++ - C++
Нужно создать класс Прямоугольник со стороной на оси ОХ. Нужно перегрузить бинарные операторы: пересечения прямоугольников(*),...

Вписанные прямоугольники - C++
Даны 2 прямоугольника. Определить можно ли вписать один в другой. Пример 1 10 вписать в 9 9 возможно. Делал так: надо их диагонали...

Раскрасить прямоугольники исходя из условия - C++
double x=2.5;//отступ от границы int y=20; const double a=x; RECT r;//массив прямоугольников int k=0; for(int...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru