|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.01.2017, 11:31 | #1 |
Форумчанин
Регистрация: 13.05.2016
Сообщений: 111
|
Выделить из заданных точек вершины квадрата, содержащего максимальное число заданных точек
Здравствуйте, нужна помощь.
Условие: На двумерной плоскости задано N точек с координатами (X1,Y1), (X2,Y2), ..., (Xn,Yn). Написать программу, которая из этих точек выделяет вершины квадрата, содержащего максимальное число заданных точек. ПРИМЕЧАНИЕ: предполагается, что точки, расположенные на сторонах квадрата, принадлежат ему. |
09.01.2017, 11:49 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
В чём именно нужна помощь?
ваша задача разбивается на подзадачи. 1-я. описание и ввод исходных данных (в массив, например) 2-я. перебор всех точек по 4-ре. (я бы сделал просто вложенными циклами) 3-я. проверка, образуют ли точки квадрат 4-я. функция проверки, попадает ли заданная точка в квадрат. думаю, что Вы легко найдёте подходящий алгоритм. Можно, например, подсчитать площади треугольников, которая образует данная точка с вершинами квадрата, сложить их, если площадь совпадает с площадью квадрата, то точка принадлежит квадрату, иначе - не принадлежит. для ускорения можно выделить отдельный случай, когда точка лежит на стороне квадрата. перебор в цикле всех точек и проверка с помощью функции принадлежности, попадает точка в квадрат или нет. 5-я. поиск максимального значения для количества точек, попавших в квадрат ну и вывод результата, конечно. учтите, что, точки Вам придётся подбирать искусственно, боюсь, что рандомные точки вообще не позволят на них нарисовать ни одного квадрата. Я бы нарисовал несколько квадратов, их координаты забил в программу + добавил K точек со случайными координатами. Последний раз редактировалось Serge_Bliznykov; 09.01.2017 в 11:51. |
09.01.2017, 12:34 | #3 |
Форумчанин
Регистрация: 13.05.2016
Сообщений: 111
|
У меня есть код на паскале, но программа не верно считает количество точек.
Мне бы сначала разобраться почему, а потом переделать на C#. Код программы на паскаль: Код:
По идее точек входящих в этот квадрат 7, а пишет что 8. |
09.01.2017, 13:03 | #4 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
09.01.2017, 13:10 | #5 |
Форумчанин
Регистрация: 13.05.2016
Сообщений: 111
|
|
09.01.2017, 17:02 | #6 |
Форумчанин
Регистрация: 13.05.2016
Сообщений: 111
|
Кто-то может помочь код с паскаля, который выше переделать под C#? А то я застопился в самом начале, не знаю как мне паскальный тип record переделать под C#.
|
12.01.2017, 12:29 | #7 |
Форумчанин
Регистрация: 13.05.2016
Сообщений: 111
|
Сделал для 4-х точек, как делать дальше не знаю. Нужен ваш хелп.
Код:
|
12.01.2017, 15:07 | #8 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
Вот набросал:
Код:
|
12.01.2017, 16:00 | #9 |
Форумчанин
Регистрация: 13.05.2016
Сообщений: 111
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Из заданного мн-ва точек на плоскости выбрать 3 разные точки A,B,C так,чтобы внутри треугольника ABC было максимальное число точек | Ronin94 | Общие вопросы C/C++ | 4 | 02.02.2015 18:31 |
Среди N точек, заданных своими координатами на плоскости, определить самую дальнюю точку от начала координат. | zaira001002 | Общие вопросы C/C++ | 10 | 30.09.2013 10:26 |
Найти минимальный радиус шара, который будет охватывать все заданные точки(центр окружности лежит на одной из заданных точек) | ExploiT243 | Помощь студентам | 1 | 27.05.2012 10:31 |
Задаnm n точек. Найти m=3,4... точек и построить на них m-угольник: количество точек , лежащих внутри и вне его мин. различается | L.Rain | Помощь студентам | 0 | 11.12.2011 22:19 |
определить радиус и центр окружности, на кот. лежит наиб.число точек заданного на плоскости мн-ва точек) | kcю | Помощь студентам | 0 | 17.11.2009 19:50 |