|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.01.2016, 23:08 | #1 |
Форумчанин
Регистрация: 05.11.2015
Сообщений: 167
|
Точки, лежащие на одной прямой
Помогите, пожалуйста, с заданием.
На плоскости есть какое-то количество точек (задается во входном файле, от 1 до 100 точек). Нужно узнать, какие точки лежат на одном отрезке, то есть подстроив программу под различные случаи количества городов. Как я понимаю, нужно провести отрезок с 1 точки во вторую, и уравнением прямой, проходящей через две точки, проверить, лежат ли на этом отрезки точки 3 и 4. Потом провести с 1 по 3, и проверить, лежит ли на ней 2 и 4, потом с 1 и 4, проверить 2 и 3. Далее все тоже самое, только проводить отрезки уже со следующих точек. Как написать программу, которая узнает, какие точки лежат на одной прямой? |
04.01.2016, 23:24 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
100 точек? Там только отрезков соединяющих каждую с каждой 99!. Представляешь хоть сколько нулей в конце этого числа? 22. Плюс еще в начале куча циферей. Сколько времени для решения потребуется?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
04.01.2016, 23:32 | #3 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Ну вы хоть понимаете в чем нужно писать программу??
Или совсем все туго? Что вы все путаете понятия... "Не хочу писать (сложно, времени нету, хомячок рожает) - идем во фриланс ставим ценник вам решают и все довольны" "Хочу писать но не получается - показываем наработки, указываем где затор слушаем советы, исправляем и все довольны". Вам вариант какой?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
04.01.2016, 23:33 | #4 |
Форумчанин
Регистрация: 05.11.2015
Сообщений: 167
|
Отрезков, напротив, будет больше. Ведь соединять нужно первую со всеми, потом вторую со всеми, кроме первой, и т.д.
А относительно нулей, вы, наверное, не так поняли. Нам известны координаты. допустим, ста точек. И не известно, может, там все на одной линии, тогда ответом будут все точки, может, только три лежат на одной линии. То есть считаем кол-во отрезков, соединяющих точки, то есть n-1 + n-2+ ...+ n-99 и это число удваиваем. А потом проверяем на принадлежность сначала точки 3 к отрезку 1 - 2, потом 4 на принадлежность к один 2, и так далее. Потом идет вторая точка, и её тоже нужно соединить с остальными. И то число, удвоенное, как раз и будет количеством проведенных отрезков для проверки на принадлежность к прямой. А как дальше, не знаю. просто не могу связать цикл, который все это будет считать. |
04.01.2016, 23:38 | #5 |
Форумчанин
Регистрация: 05.11.2015
Сообщений: 167
|
Вот мои наработки.
Код:
|
04.01.2016, 23:40 | #6 |
Форумчанин
Регистрация: 05.11.2015
Сообщений: 167
|
Почему 99! ?
Если точек сто, то отрезков будет 99+98+97+..+1, то есть совсем не 99! |
04.01.2016, 23:43 | #7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Тю. А чего я зациклился на умножении? Посыпаю голову пеплом Праздники даром не проходят
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 04.01.2016 в 23:45. |
05.01.2016, 01:12 | #8 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
А что в итоге получить-то надо? Множество уравнений прямых aka y = kx + b, имеющие на борту 3 или более точек из входных данных?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
05.01.2016, 15:24 | #9 |
Форумчанин
Регистрация: 05.11.2015
Сообщений: 167
|
Вообще нужно соединить между собой все точки, и подсчитать общую длину, учитывая при этом, что несколько точек могут лежать на одной прямой, в этом случае отдельно их соединять не надо, достаточно длины этой линии.
Так что нужно узнать, какие точки лежат на одной прямой. |
05.01.2016, 19:39 | #10 |
Пользователь
Регистрация: 23.12.2015
Сообщений: 22
|
http://www.cleverstudents.ru/line_an..._2_points.html - почитайте тут. алгоритм будет не сложный в принципе и зациклить его можно на проверку.
Если задача кажется легкой - то решать её придется очень долго.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Определить, лежат ли точки на одной прямой Паскаль | anton.dasuik | Помощь студентам | 1 | 27.02.2013 22:52 |
Управление прямой вокруг точки Pascal ABC | Danise | Помощь студентам | 1 | 10.01.2012 00:53 |
Выяснить лежат ли точки на одной прямой | commander_spock | Помощь студентам | 10 | 20.10.2010 14:44 |
Определить Лежат ли точки на одной прямой | домик | Помощь студентам | 10 | 11.04.2010 20:12 |
Определить, лежат ли обе точки относительно прямой в одной полуплоскости - задача на С++. | Wia | Помощь студентам | 4 | 21.12.2008 02:06 |