Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Здраствуйте помогите мне написать программу [D7, XP]


VanDet ©   (2006-02-16 11:21:00) 

Здравстуйте, я новичок мне хочется НАПИСАТЬ САМОМУ программу которая бы " Даны N точек на плоскости (N>=4). Выяснить, найдутся ли среди этих точек такие, которые являются вершинами квадрата. Найти стороны этого квадрата.",но не знаю как....
Заранее спасибо.


Fay   (2006-02-16 12:21:00) [1]

0) Перебираем все возможные точки.
1) Для каждой перебираем все остальные
2) Для каждой пары вершин (для стороны) ищем остальные 2 вершины (возможные координаты вычисляются элементарно). Т.е. проверка четырех (мах) вершин на существавание.
3) После полного просмотра каким-либо образом помечаем вершину (1), как рассмотренную и больше не обращаем на неё внимания.
4) goto 1


Ega23   (2006-02-16 12:07:00) [2]


> От углов тоже можно уйти, сравнив длины диагоналей.


Можно и так. Вариантов - масса.


evvcom   (2006-02-16 12:00:00) [3]


> и углов между ними

От углов тоже можно уйти, сравнив длины диагоналей.


Ega23   (2006-02-16 11:32:00) [4]

Задача сводится к перебору всех возможных отрезков и сравнения их длин и углов между ними.


Zeqfreed   (2006-02-16 11:31:00) [5]


> расстояние между ними

Т.е. расстояние между точками.


Zeqfreed   (2006-02-16 11:30:00) [6]

Квадрат — это четырехугольник у которого все стороны равны и углы между смежными сторонами равны 90°. Если квадраты должны быть параллельны осям коордитнат, то задача сводится к выбору таких четверок точек, в которых только одна из координат каждой точки отичается на одно и то же число. Иначе придется считать углы между прямыми и расстояние между ними по более сложным формулам.

А коль написать ты это хочешь сам, то непонятно в чем должна заключаться помощь форума.


Наверх

Титульная страница Поиск, карта сайта Написать письмо