42 / 42 / 5
Регистрация: 25.03.2014
Сообщений: 444

Указать (n-1)-звенную несамопересекающуюся замкнутую ломаную, проходящую через заданные точки

04.11.2014, 17:09. Показов 9052. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано n точек на плоскости. Указать (n-1)-звенную несамопересекающуюся замкнутую ломаную, проходящую через все эти точки. (Соседним отрезкам ломаной разрешается лежать на одной прямой.) Подсказка. Возьмем самую левую точку (т.е. точку с наименьшей x-координатой) и проведем из нее лучи во все остальные точки. Теперь упорядочим эти лучи снизу вверх, а точки на одном луче упорядочим по расстоянию от начала луча (это делается для всех лучей, кроме нижнего и верхнего). Ломаная выходит из выбранной (самой левой) точки по нижнему лучу, затем по всем остальным лучам (в описанном порядке) и возвращается по верхнему лучу.
Подскажите как вообще это делать ??? Что должно включать в себя программа и код?
1
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.11.2014, 17:09
Ответы с готовыми решениями:

За время n logn построить (n-1)звенную не пресекающую себя ломаную проходящую через все точки
Дано n точек на плоскости заданных своими декартовыми координатами. За время n logn построить (n-1)звенную не пресекающую себя ломаную...

Указать (n-1)-звенную несамопересекающуюся замкнутую ломаную, проходящую через все заданные точки
Дано n точек на плоскости. Указать (n-1)-звенную несамопересекающуюся замкнутую ломаную, проходящую через все эти точки. (Соседним отрезкам...

Постройте ломаную линию, проходящую через заданные точки
На плоскости заданы n точек своими координатами. Постройте ломаную линию, проходящую через эти точки, причем через каждую точку ломаная...

26
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
06.11.2014, 23:00
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Dgaizer Посмотреть сообщение
у меня в строках 20 33 46 52 выдает одну и туже ошибку [C++ Error] Unit1.cpp(26): E2015 Ambiguity between 'Point' and '_fastcall Classes::Point(int,int)'
В коде у D_in_practice нет никакого 'Classes', поэтому в его коде такой ошибки быть не может. Это вы уже от себя что-то понадобавляли, что и привело к ошибке.
1
42 / 42 / 5
Регистрация: 25.03.2014
Сообщений: 444
06.11.2014, 23:07  [ТС]
TheCalligrapher, уж нет просто копировал вставил
https://www.cyberforum.ru/atta... 1415304423
Миниатюры
Указать (n-1)-звенную несамопересекающуюся замкнутую ломаную, проходящую через заданные точки  
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
06.11.2014, 23:19
Цитата Сообщение от Dgaizer Посмотреть сообщение
просто копировал вставил
Ну так а что такое 'vcl.h'? И что еще включается через 'vcl.h'?
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33465 / 21564 / 8249
Регистрация: 22.10.2011
Сообщений: 37,017
Записей в блоге: 12
06.11.2014, 23:45
Цитата Сообщение от Dgaizer Посмотреть сообщение
у меня в строках 20 33 46 52 выдает одну и туже ошибку
Надо было тему создавать не абы где, а в правильном разделе, по Билдеру... Замени везде (кроме объявления типа Point, разумеется) Point на ::Point, у тебя конфликт типов...
2
22 / 56 / 9
Регистрация: 29.09.2011
Сообщений: 618
11.12.2014, 03:54
Немного потестировал алгоритм, в строке 49 ( и в 50 соответственно):
C++
1
double k1 = (begin.y - a[j].y) / (begin.x - a[j].x);
если
C++
1
begin.x == a[j].x
, то будет деление на ноль и программа вылетает.
0
 Аватар для D_in_practice
343 / 343 / 331
Регистрация: 02.10.2014
Сообщений: 666
11.12.2014, 06:21
Цитата Сообщение от _20_ Посмотреть сообщение
C++
1
begin.x == a[j].x
этого никогда не произойдет тк, до этого мы исключили все точки с координатами x = begin.x
0
0 / 0 / 0
Регистрация: 03.05.2014
Сообщений: 2
04.01.2016, 01:38
Это задача на применение полярных координат. Фактически, в подсказке - уже ответ! Вы выбираете себе "начало координат" с помощью назначения какой-нибудь крайней точки (слева, справа, снизу, сверху - не важно!) и соединяете мысленно лучами каждую точку. введя угол фи (для полярных координат) и имея луч, как радиус-вектор, вы можете спокойно двигаться по возрастающему углу (0 - 2*pi). Вот, собственно, и все. Реализуйте это в коде. У меня есть эта прога на java. Надо - дам ссылку в гите.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.01.2016, 01:38

Указать (n - 1)звездную не самопересекающуюся незамкнутую ломаную, проходящую через все эти точки
Дано n точек на плоскости. Указать (n - 1)звездную не самопересекающуюся незамкнутую ломаную, проходящую через все эти точки. (Соединим...

Построить прямую проходящую через 2 заданные точки не используя line
построить прямую проходящую через 2 заданные точки не используя line

Дано n точек на плоскости, за время n*logn построить (n-1)-звенную ломаную
Дано n точек на плоскости, заданных своими декартовыми координатами. За время n*logn построить (n-1)-звенную не пересекающую себя ломаную,...

Найти проекцию точки М(1,1,1) на прямую проходящую через точки М1(2,5,-3) и М2 (3,-2,2).
Найти проекцию точки М(1,1,1) на прямую проходящую через точки М1(2,5,-3) и М2 (3,-2,2).

Добавление точек в замкнутую ломаную линию
Всем здравствуйте. Есть массив точек (изначально он может состоять только из 1 точки). Интересует как добавить точки в ЗАМКНУТУЮ...


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Опции темы

Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru