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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2008, 13:27   #1
KpeHDeJIb
Пользователь
 
Регистрация: 24.06.2008
Сообщений: 16
Восклицание Массив

Даны координаты n-точек на плоскости X[1], Y[1], ... X[n], Y[n], n=20.
Найти номера двух точек, расстояние между которыми наибольшее.
(считать, что такая пара точек единственная)
помогите пожалуйста, хотябы наброски какиенить киньте
KpeHDeJIb вне форума Ответить с цитированием
Старый 27.09.2008, 13:47   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

1.Записать координаты точек в массив записей.
Код:
const n=20;
type Tpoint=record
            x,y:real;
            end;
var a:array[1..n]of Tpoint;
    i,jimax,jmax:integer;
    max:real;
2.Заполнить массив.
3. В двойном цикле найти максимальную длину, использую известную формулу длины отрезка по координатам концов.
Эту формулу можно оформить функцией, можно так.
Код:
max:=0;
for i:=1 to n do
for j:=1 to n do
if sqrt(sqr(a[i].x-a[j].x)+sqr(a[i].y-a[j].y))>max  then 
   begin
    max:=sqrt(sqr(a[i].x-a[j].x)+sqr(a[i].y-a[j].y));
    imax:=i; //номера точек
    jmax:=j;
  end;

Последний раз редактировалось puporev; 27.09.2008 в 13:55.
puporev вне форума Ответить с цитированием
Старый 27.09.2008, 13:59   #3
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Чтобы не делать лишних вычислений, цикл можно организовать так:
Код:
for i:=1 to n-1 do
  for j:=i+1 to n do
_Dmitry вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив Levsha100 Помощь студентам 5 23.07.2008 16:29
Массив что ли... Черничный Общие вопросы Delphi 4 11.06.2008 08:19
массив begemotikdin Паскаль, Turbo Pascal, PascalABC.NET 5 04.06.2008 22:58
массив Jodu Паскаль, Turbo Pascal, PascalABC.NET 11 01.11.2007 16:11
Массив Dude Помощь студентам 2 13.06.2007 14:11