Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail



Ответ
 
Опции темы
Старый 11.01.2017, 18:06   #11
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк, Украина
Сообщений: 15,482
Репутация: 5671
По умолчанию

Цитата:
p.s. кстати, проверка на то, что диагональ ровно в два раза больше - избыточно.
Все так, за исключением случая, когда все 4 точки совпадают. Это можно конечно и другим способом проверить )
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 11.01.2017, 18:25   #12
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 21,044
Репутация: 4789
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Все так, за исключением случая, когда все 4 точки совпадают.
ну, боюсь, что в этом случае
0 = 2*0

Тут просто нужна банальная проверка на то, что длина стороны больше нуля.
остальное уже приложится.

ura_111. вы ошибаетесь насчёт параллельности сторон.
вот это, например, квадрат:
квадрат.png

а это - не квадрат:
ромб.png
Serge_Bliznykov на форуме   Ответить с цитированием
Старый 11.01.2017, 18:43   #13
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 909
Репутация: 97
По умолчанию

Значит условия квадрата такие:
1) параллельность сторон
2) равенство сторон
3) один из углов равен 90 град.

p.s.: Kef1r, подумай как реализовать эти условия через координаты:
Код:

X[0]
Y[0]
X[1]
Y[1]

ura_111 вне форума   Ответить с цитированием
Старый 11.01.2017, 18:56   #14
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 21,044
Репутация: 4789
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
Значит условия квадрата такие:
вот, это уже ближе.

много можно написать определений.
например,
квадрат это прямоугольник (4-х угольник у которого все углы 90 градусов), все стороны которого равны.

но, чисто для прикладных вычислений намного удобнее использовать алгоритм, предложенный выше (см., например, пост #7 от Аватар).
найти расстояния между точками и сравнить намного проще, чем проверять параллельность сторон или искать величину угла между сторонами.
Serge_Bliznykov на форуме   Ответить с цитированием
Старый 11.01.2017, 19:43   #15
Plague
Забанен
Форумчанин
 
Аватар для Plague
 
Регистрация: 01.11.2006
Адрес: ЯНАО
Сообщений: 355
Репутация: 376
По умолчанию

Допустим дан квадрат ABCD. Точки например обозначены по часовой стрелке.
AC и BD - диагонали.
Если вы знаете координаты точке А и С:
- как найти координаты центра квадрата?
- как вычислить координаты B и D?
А если вычислим координаты B и D, то есть они в заданных координатах?
__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума   Ответить с цитированием
Старый 12.01.2017, 02:06   #16
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 909
Репутация: 97
По умолчанию

Kef1r, наверно тебе будет тяжело набирать "с ходу" свою программу, поэтому делай её по частям - напиши (для начала) три отдельные программы:
___________________________________ ___________________________________ ________
1) даны 4-ри точки (задаются своими координатами)
Код:

X1, Y1
X2, Y2
X3, Y3
X4, Y4

Программа должна сказать квадрат ли это или нет... Протестируй хорошенько эту программу - подсовывай её разные координаты точек и смотри правильно ли реагирует на них программа.
___________________________________ ___________________________________ ________
2) Даны 15 точек (задаются своими координатами). Известно, что первые 4-е точки образуют квадрат (это должен быть действительно квадрат)... Подсчитайте, сколько точек (начиная с 5-й по 15-ю) вошло в этот квадрат.

1.jpg
___________________________________ ___________________________________ ________
3) Дан массив "int X[7]". Вывести на экран все возможные "четверичные комбинации". Например:
Код:

X[1], X[2], X[3], X[4]
X[1], X[2], X[3], X[5]
X[1], X[2], X[3], X[6]
X[1], X[2], X[3], X[7]
................
X[2], X[3], X[4], X[5]
X[2], X[3], X[4], X[6]
................
...............
X[4], X[5], X[6], X[7]
...............
...............

___________________________________ ___________________________________ ________

Как только сделаешь эти три (отдельные) программы, переходи к решению свой задачи... По сути дела нужно будет только "совместить" предыдущие программы в одну, при этом "механизм перебора" оставляешь в "main()", а остальные "программы" делаешь как отдельные функции.

Последний раз редактировалось ura_111; 12.01.2017 в 03:30.
ura_111 вне форума   Ответить с цитированием
Старый 12.01.2017, 13:32   #17
Kef1r
Форумчанин
 
Регистрация: 13.05.2016
Сообщений: 52
Репутация: 10
По умолчанию

Решил делать на C#. Сделал только для 4-х точек. Дальше не знаю как.
Ссылка на тему: http://programmersforum.ru/showthread.php?t=302560
Kef1r вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделить из заданных точек вершины квадрата, содержащего максимальное число заданных точек Kef1r C# (си шарп) 8 12.01.2017 17:00
Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке серым цветом. MegaMan123 Помощь студентам 4 10.06.2014 11:40
Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке серым цветом. d_dima Помощь студентам 1 05.03.2013 21:43
(С#)Написать программу, которая определяет, попадает ли точка с заданными координатами в область Nekro95 Помощь студентам 1 25.10.2012 11:00
написать программу..которая с использованием метода наименьших квадратов определяет параметры зависимости Марго Помощь студентам 3 14.10.2007 15:47




15:07.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Покупайте на сайте www.skinon.ru уникальные чехлы и наклейки для телефонов.
таргетированный трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru