Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Walker_State
0 / 0 / 1
Регистрация: 21.01.2016
Сообщений: 6
#1

Класс двухмерных фигур в c++ - C++

18.06.2016, 04:20. Просмотров 292. Ответов 3

Здравствуйте! У меня такая задача:

Разработать базовый класс фигуры и три производных класса – линии, прямоугольника и окружности. Разработать программу с графическим интерфейсом, позволяющим создавать и отрисовывать объекты всех производных классов, а также выбор и удаление любой из созданных фигур. Хранение фигур реализовать через массив указателей на базовый класс.

Все это я смог сделать. Но мне дали дополнительное задание, которое я никак не могу сделать. Оно звучит следующим образом:

Создать несколько фигур. Проверить, есть ли среди созданных прямоугольников такие, что любая созданная линия их пересекает (обе точки линии находятся вне фигуры). Найденные фигуры выделить другим цветом.

Не мог бы кто-нибудь мне помочь? Заранее благодарен!

В архиве вкладываю проект с кодом, который выполняет первую часть задания(Выполнен в Visual Studio 2015)


ps. Работаю на маке, так что за вирусы можно не переживать
0
Вложения
Тип файла: zip laba.zip (53.2 Кб, 5 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2016, 04:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Класс двухмерных фигур в c++ (C++):

класс фигур
Доброго времени суток . Снова нужна помощь . Задание такое : создать...

Создать абстрактный класс фигур и сделать 2 наследника (треугольник, прямоугольник)
Доброго времени суток. Задание такое : создать абстрактный класс фигур и...

Создать абстрактный базовый класс объектов на декартовой плоскости CShape и разработать иерархию классов конкретных фигур
Создать абстрактный базовый класс объектов на декартовой плоскости CShape...

двухмерных массивов
Привет ребята=)!!!Помогите пожалуйста в решении задач....А то в двухмерных...

Обработка двухмерных массивов
Дана матрица А (5*5) нецелых элементов. -3.8 0 5.3 4.5 0.5 0.2 -1.3 0 -8.5...

Инициализация двухмерных массивов
Доброго времени суток. Объясните, пожалуйста, почему так все работает...

3
nmcf
6245 / 5557 / 2527
Регистрация: 14.04.2014
Сообщений: 23,361
18.06.2016, 18:54 #2
Используй уравнение прямой. Найди точки пересечения. Если линия пересекает больше одной стороны прямоугольника, то подходит.
0
Walker_State
0 / 0 / 1
Регистрация: 21.01.2016
Сообщений: 6
18.06.2016, 20:02  [ТС] #3
Про уравнение прямой я думал, но у меня основная загвостка в работе с прямоугольником. Не могу придумать как проверить количество общих точек у прямой и прямоугольника?
0
nmcf
6245 / 5557 / 2527
Регистрация: 14.04.2014
Сообщений: 23,361
18.06.2016, 21:12 #4
Каждая сторона прямоугольника соответствует своей прямой. Вот надо все четыре проверить на пересечение с прямой линии - если больше одного пересечения, то подходит.
Строишь каждую прямую по двум точкам. Далее находишь точку пересечения для бесконечных прямых, затем проверяешь принадлежность к отрезку. Примерно так.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2016, 21:12
Привет! Вот еще темы с решениями:

Обработка двухмерных массивов
Не могу понять чем ошибка в коде , я в этом деле новичек , так что сильно не...

BubbleSorting в двухмерных массивах
написал такой код.дан двумерный массив .надо сортировать по третьей числом ну...

Перемножение двухмерных матриц
Прошу помощи ребят. В институте задали задание, с множеством загвоздок, а я...

«Обработка двухмерных массивов»
Прошу помочь.. пожалуйста простым способом очень нужно! заранее спасибо ...


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

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

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