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

Квадрат наибольшего периметра - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
nas
0 / 0 / 0
Регистрация: 10.11.2010
Сообщений: 26
25.11.2010, 17:48     Квадрат наибольшего периметра #1
Здравствуйте!!!Прошу помочь с задачей!!!
Условие: Задано множество точек на плоскости. Выбрать из них четыре разные точки, которые являются вершинами квадрата наибольшего периметра.

Подкиньте пожалуйста идею, как определить образуют ли данные четыре точки квадрат, ну и вообще у кого какие идеи по этой задаче
Заранее благодарю!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2010, 17:48     Квадрат наибольшего периметра
Посмотрите здесь:

C++ Выбрать 3 разные точки заданного на плоскости множества точек,составляющие треугольник наибольшего периметра
C++ Выбрать три разные точки заданного на плоскости множества точек, составляющие треугольник наибольшего периметра
C++ Из заданного на плоскости множества точек выбрать такие три, которые составляют треугольник наибольшего периметра.
Квадрат наибольшего периметра C++
C++ Найти квадрат наибольшего периметра
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nas
0 / 0 / 0
Регистрация: 10.11.2010
Сообщений: 26
28.11.2010, 08:58  [ТС]     Квадрат наибольшего периметра #2
Подскажите пожалуйста, правильно ли я думаю:

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

Или можно проще алгоритм придумать???
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
28.11.2010, 09:14     Квадрат наибольшего периметра #3
Цитата Сообщение от nas
Нужно сначала организовать четыре цикла.
это в самом конце

сначала нужно написать функции, одна находит расстояние между точками, другая проверяет четыре точки на вершины квадрата, а уже потом дальнейшее

1. находим самое большое расстояние между двумя точками
2. пытаемся найти ещё три таких же расстояния
3. если нет трёх таких же расстояний, находим расстояние поменьше, к пункту 2
4. если нашли все расстояния, проверяем точки на вершины квадрата
5. если это вершины квадрата, выводим
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.11.2010, 09:27     Квадрат наибольшего периметра #4
accept, Алгоритм отличный. Чуть-чуть добавлю в алгоритм своего (для ускорения по времени):
Цитата Сообщение от accept Посмотреть сообщение
2. пытаемся найти ещё три таких же расстояния
лучше так:
2. пытаемся найти ещё 2 таких же расстояния, причем 2 этих расстояния - с участием двух точек из п.1 (и здесь появляются новые 2 точки), а одно расстояние между новыми двумя точками просто проверяем на ту же длинну.
nas
0 / 0 / 0
Регистрация: 10.11.2010
Сообщений: 26
29.11.2010, 12:08  [ТС]     Квадрат наибольшего периметра #5
Не знаю как проверить точки на вершины квадрата. Подскажите пожалуйста
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
29.11.2010, 12:20     Квадрат наибольшего периметра #6
nas, Напишите в личку.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
30.11.2010, 02:12     Квадрат наибольшего периметра #7
чтобы определить являются ли точки вершинами квадрата, нужно узнать расстояния между ними и проверить а корней из двух, или сумма квадратов катетов равна квадрату гипотенузы
в общем нужно удостовериться, что угол прямой

а ещё можно проверить стороны на равенство и диагонали на равенство
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2010, 17:47     Квадрат наибольшего периметра
Еще ссылки по теме:

C++ отношение наибольшего числа к наименьшему, квадрат суммы двух меньших по значению чисел
C++ Задача на структуры: выбор точек, образующих треугольник наибольшего периметра
Треугольник наибольшего периметра C++

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

Или воспользуйтесь поиском по форуму:
nas
0 / 0 / 0
Регистрация: 10.11.2010
Сообщений: 26
30.11.2010, 17:47  [ТС]     Квадрат наибольшего периметра #8
Спасибо большое
Yandex
Объявления
30.11.2010, 17:47     Квадрат наибольшего периметра
Ответ Создать тему
Опции темы

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