Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2016, 20:12   #11
dimon_snake
Форумчанин
 
Регистрация: 05.11.2015
Сообщений: 167
По умолчанию

Там просто уравнение прямой. Я не могу организовать цикл, который будет проверять все возможные варианты.
dimon_snake вне форума Ответить с цитированием
Старый 05.01.2016, 20:32   #12
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Я не могу организовать цикл
Это запрещено?
Кто мешает-то?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 05.01.2016, 20:56   #13
dimon_snake
Форумчанин
 
Регистрация: 05.11.2015
Сообщений: 167
По умолчанию

Не доходит, как это по-человечески сделать.
dimon_snake вне форума Ответить с цитированием
Старый 05.01.2016, 21:14   #14
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Я как всегда не понимаю условие..
Но я бы делал так :

Код:
for i := 1 to n 
   for j := i+1 to n 
      for k := j+1 to n
На основании первых двух циклов строим прямую. (когда я писал подобное - делал это на с++ - а там конструктором для структуры. было очень красиво)
Дак вот. А дальше просто перебираем все точки и смотрим удовлетворяет ли это уравнению прямой.
А дальше уже исходя из того, что делать надо
Poma][a вне форума Ответить с цитированием
Старый 05.01.2016, 21:44   #15
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Я б разделил задачу на подзадачи.
Первое, с чего бы начал - создал бы класс "точка", с методами и свойствами нужных вычислений. Один из ключевых методов - вычисление коэффициентов уравнения прямой на плоскости по координатам второй точки: Ax + By + C = 0. Это и есть самое главное. Факт принадлежности 3-й точки этой прямой - дело техники; мне, например, больше нравится формула вычисления отклонения точки от прямой.



Можно задаться точностью и сравнивать результат.

А цикл - дело десятое. Составить из объектов-точек список (TObjectList<...>) и пробежаться по ним, вызывая нужный метод - дохрена ума не надо.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 05.01.2016, 21:57   #16
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Ой ужасть
Зачем нам расстояние до прямой - если можно взять по двум точкам коэффициенты и подставить? Красивше же выйдет
Poma][a вне форума Ответить с цитированием
Старый 05.01.2016, 22:04   #17
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Зачем нам расстояние до прямой - если можно взять по двум точкам коэффициенты и подставить? Красивше же выйдет
Не выйдет. Ибо сравнивать придётся действительные числа, а не целые.
И никакая не ужасть. Не на бумажке же считать, всё FPU сделает.
Это и есть великое таинство программирования!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 05.01.2016, 23:13   #18
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Не выйдет. Ибо сравнивать придётся действительные числа, а не целые.
А чейта?
Когда эт люди разучились веществнные сранивать?
Цитата:
И никакая не ужасть.
Некрасиво ж.. Да и корень вещь плохая.. (правда можно квадрат)
Poma][a вне форума Ответить с цитированием
Старый 05.01.2016, 23:17   #19
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Когда эт люди разучились веществнные сранивать?
ну перестань. ты прикалываешься, да?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 05.01.2016, 23:27   #20
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Ну просто я не понимаю почему Ваш лучше - а мой применять нельзя.
Вы точно также буду сравнивать с точностью, только моя формула будет проще.

Последний раз редактировалось Poma][a; 05.01.2016 в 23:32.
Poma][a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить, лежат ли точки на одной прямой Паскаль 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