![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 06.05.2013
Сообщений: 7
|
![]()
Задание
Описать класс CPoint - точка.Описать класс четырехугольник CTetragon. Обязательные поля класса CTetragon: - имя прямоугольника, 4 объекта класса CPoint, 4 поля типа double – стороны четырех угольника. Обязательные методы должны выполнять следующие действия: конструктор без параметров (нулевого прямоугольника); конструктор, принимающий в качестве параметра 4 точки, конструктор копирования; метод получения периметра, Переопределить операцию (<) – сравнение по длине периметра. Описать производный класс CRectangle – прямоугольник. Обязательные методы должны выполнять следующие действия: конструктор без параметров (нулевого квадрата); конструктор, принимающий в качестве параметра 4 точки, конструктор копирования; метод получения периметра, деструктор. Переопределить следующие операции: операцию (<) – сравнение по длине периметра. Для классов CTetragon и CRectangle определить метод, определяющий факт включения одной фигуры в другую. Написать демонстрационную программу. И так все я это сделал кроме метода :Для классов CTetragon и CRectangle определить метод, определяющий факт включения одной фигуры в другую. Клаас точка Код:
Код:
Код:
Код:
Код:
Код:
Помогите плз. А то пока не по зубам такой метод написать. Последний раз редактировалось alexSo; 06.05.2013 в 21:37. |
![]() |
![]() |
![]() |
#2 |
Регистрация: 06.05.2013
Сообщений: 7
|
![]()
Ну и сам майн. Код большой.
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]()
Забудь про программирование. Подумай о самом алгоритме:
У тебя есть две произвольные фигуры (не важно, прямоугольники, треугольники, парралепипеды, это не суть). Тебе известны их координаты. Как узнать, что одна из фигур находится внутри другой фигуры? Фигура находится внутри другой фигуры, если все точки этой фигуры находятся в пределах другой фигуры. Задачка у тебя глупая (её требования вынуждают программиста писать говнокод). Но можно попробовать сделать по человечачьи: Сделай один единственный класс "многоугольник". Который в конструкторе принимает массив точек. Эти точки и определят геометрию его фигуры. Для многоугольника сделай метод, который принимает другой многоугольник. У этого другого многоугольника в цикле пробегись по всем точкам, и узнай, пренадлежат ли они первому многоугольнику. Если пренадлежат - значит, другой многоугольник внутри первого. Добавь в этот многоугольник расчет периметра, operator< , ну и тому подобный хлам. Затем отнаследуй свои глупые классы (глупые, потому что они не нужны. Один многоугольник покрывает все их возможности) от многоугольника, и покажи своему преподавателю. Не забудь в наследника CTetragon вписать никому нахрен не упавшие 4 дополнительные переменные типа double – стороны четырех угольника. |
![]() |
![]() |
![]() |
#4 | |
Регистрация: 06.05.2013
Сообщений: 7
|
![]() Цитата:
Последний раз редактировалось alexSo; 07.05.2013 в 10:24. |
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]()
Еще вопросик Класс многоугольник делать наследником класса точки?
Зачем? |
![]() |
![]() |
![]() |
#6 | |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() Цитата:
Глупые книжные истины, аля "наследник - частный случай базы" актуально только для новобранцев, и только что бы у них мозги черти с чем не смешались, пока они не осознают низкоуровневые принципы механики наследования, и не поймут, что наследоваться можно всегда, когда это удобно программисту для решения задач насущных. И таким образом, который предоставит максимум гибкости (иммунитет к возможным изменениям проекта) при разработке. |
|
![]() |
![]() |
![]() |
#8 |
Регистрация: 06.05.2013
Сообщений: 7
|
![]()
Помоги плз найти ошибку
Код:
Код:
|
![]() |
![]() |
![]() |
#9 |
Регистрация: 06.05.2013
Сообщений: 7
|
![]()
И по правильному пути я иду?
|
![]() |
![]() |
![]() |
#10 | ||
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
![]() Цитата:
И если ты в своей конторе пишешь такой код, подумай чуть о новобранцах, которые придут работать и будут долго пытаца понять чем же многоугольник так провинился. Цитата:
Последний раз редактировалось rrrFer; 08.05.2013 в 06:53. |
||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Метод перебора, Метод дихотомии, Метод золотого сечения Delphi !!! | OneBri | Помощь студентам | 0 | 03.10.2012 08:42 |
Конструктор,метод вывода на экран Display, метод для преобразования в строку toString в Delphi | Чумак Татьяна | Помощь студентам | 6 | 03.04.2012 11:58 |
исследовать метод квадратных корней и метод Холецкого для решения СЛАУ | Vит@x@ | Помощь студентам | 0 | 22.11.2011 10:47 |
Задача Коммивояжера. Метод Монте-Карло и метод приращений. [Паскаль] | U9110 | Помощь студентам | 4 | 06.04.2011 09:48 |
Turbo Pascal[програмыки : текстовая\метод симпсона\метод половинного деления | qsccsq | Помощь студентам | 7 | 24.12.2010 05:23 |