Вопрос № 86873: Здравствуйте, уважаемые эксперты! У меня возникло затруднение с таким заданием:
на плоскости разбросаны точки, которые задаются координатами X и Y. Таких точек может быть 1<N<700. Каждая пара координат отделена одним пустым символом и закон...
Вопрос № 86.873
Здравствуйте, уважаемые эксперты! У меня возникло затруднение с таким заданием:
на плоскости разбросаны точки, которые задаются координатами X и Y. Таких точек может быть 1<N<700. Каждая пара координат отделена одним пустым символом и закончена символом новой строки. Список пар заканчивается при конце файла. Необходимо определить наибольшее количество точек, лежащих на одной прямой.
P.S. Мне сказали, что нужно решать через N в кубе. Надо фиксировать три точки и рассматривать все связанные с ними остальные точки. Этого я не понимаю. Можно сделать через одну точку(рассматривать систему, связанную с одной точкой). Еще я не могу придумать, как организовать конец файла, если ты сам вводишь список(не надо использовать цикл с условием выхода). Заранее спасибо.
Отправлен: 14.05.2007, 18:11
Вопрос задал: Bocman (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Bocman!
Программа контроля точек.
Прямую можно провести гарантированно только через две точки. Все точки на прямой имеют одинаковые углы наклона (sin cos) относительно произвольно выбранной системы кординат. Программа считает углы наклона отрезка XY, берет точку Z и считает углы для отрезка XZ. Если углы совпали то точка Z лежит на прямой проходящей через точки X и Y.
Программа генератор точек.
Запрашивает сколько точек генерировать и после этого записывает их координаты в файл.
Альтернатива использования цикла с условием, количество точек передается через файл первым параметром.
для программы контроля:
readln(f,m);
if m>n then m:=n;
for i:=1 to m do readln(f,d[i,1],d[i,2]);
для программы генератора:
writeln(f,a);
Удачи!
Приложение:
--------- И только наступив на грабли мы преобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Студент)
Ответ отправлен: 15.05.2007, 13:07 Оценка за ответ: 5 Комментарий оценки: Спасибо большое за помощь, комментарии помогли разобраться в написании работы! Благодарю