IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Множество точек, Найти макс. растояние
сообщение
Сообщение #1


Гость






Привет всем кто мне поможет. Дана задача
Во множестве точек на плоскости найти пару точек с максимальным расстоянием между ними.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






А в чем проблема? знаешь, как находится расстояние между двумя точками? а потом - полным перебором и искать максимальное из расстояний ...

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Вот в этом и проблема как можно найти расстояние, а затем среди них выбрать максимальное.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


Расстояние - по формуле.
Максимальное - полным перебором.


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


Теорема пифагора: квадрат гипотенузы = сумме квдратов катетов.


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






А по подробнее. По какой формуле? Каким перебором? Ну допутим с перебором я справлюсь, но для этого мне нужно найти расстояния.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


См. мое предидущее сообщение. Катеты - это как раз и есть X и Y точки.
Вернее: (X1-X2)^2+(Y1-Y2)^2=(расстояние между точками)^2


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






А не можешь написать как это будет выглядеть в Паскале?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


А самому подумать?


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Знаток
****

Группа: Пользователи
Сообщений: 419
Пол: Мужской

Репутация: -  6  +


как вариант построить выпуклую оболочку ,и потом перебором только по точкам принадлежащим этой оболочке.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


virt
Зачем нам выпуклая оболочка? Все точки на плоскости.
Я уже и формулу привел...


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Женский

Репутация: -  0  +


APAL
а при чем здесь теорема Пифагора для прямоугольного треугольника, если надо найти расстояния между ДВУМЯ точками? blink.gif
мошь я че не понимаю... huh.gif


--------------------
Что нам стоит мир пострить? Нарисуем - будем жить...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Гость






Лита

Проекция отрезка на ось абсцисс - один катет, проекция на ось ординат - второй. По теореме Пифагора находим гипотенузу = расстояние между точками ... :yes:
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Общий алгоритм таков:
1. взять произвольную точку.
2. Вычислить расстояние от нее до всех других (циклически).
3. выбрать максимальное.
Цитата
а при чем здесь теорема Пифагора

А если я скажу, что нажо определить длинну вектора от одной точки до другой, будет понятнее smile.gif


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Женский

Репутация: -  0  +


Цитата(Oleg_Z @ 13.11.04 6:57)
Общий алгоритм таков:
1. взять произвольную точку.
2. Вычислить расстояние от нее до всех других (циклически).
3. выбрать максимальное.

так это для каждой точки надо делать такое, правильно??? huh.gif


--------------------
Что нам стоит мир пострить? Нарисуем - будем жить...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Четыре квадратика
****

Группа: Пользователи
Сообщений: 579
Пол: Мужской

Репутация: -  4  +


Код

const maxn = 100;
var i, j : integer;
   x, y : array[1..maxn] of double; // Координаты точек
   n : integer;
   max_ro : double;
   max_point1, max_point2  : integer; // номер точки

function ro(i, j : integer) : double;
{Тут работает теорема им. тов. Пифагора}
begin
   ro := sqr(x[i] - x[j]) + sqr(y[i] - y[j]);
   // На квадрат забиваем. (r1^2 > r2^2) <=> ((r1 > r2) & (r1>=0, r2>=0))
end;

begin
   Write('Введи количество точек > '); readLn(n);
   for i := 1 to n do
   begin
       write('Координаты ', i, '-й точки > '); readLn(x[i], y[i]);
   end;
   max_ro := 0;

{Проверяем все точки. Перебор}
   for i := 1 to n do
       for j := i to n do // от i, так как если проверили расстояние 1-2, то 2-1 уже не надо =)
       if ro(i, j) > max_ro then
       begin
           max_ro := ro(i, j);
           max_point1 := i; max_point2 := j;
       end;
   writeLn('Точки с координатами (', x[max_point1]:0:3, y[max_point1]:0:3,
           ') и (',x[max_point2]:0:3, y[max_point2]:0:3,')');
end.


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
так это для каждой точки надо делать такое, правильно??? 


Угу! :yes:
Ура, терминатор вернулся!


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 1:50
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name