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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2011, 21:35   #1
Чайник.ру
Новичок
Джуниор
 
Регистрация: 06.06.2011
Сообщений: 2
По умолчанию Обход Джарвиса

Есть кусочек программы по обходу Джарвиса.
Помогите определить, что происходит в каждой из строчек.(нужно добавить подробные комментарии)

Код:
Begin
Write('Введите количество точек: '); readln(n);
for i:=1 to n do
   begin
     write(i,': '); readln(A[i].x, A[i].y);
   end;
First:=1;
  For i:=2 To N Do
    If (A[i].x<A[First].x) Or (A[i].x=A[First].x) And (A[i].y<A[First].y)
       Then First:=i;
  M:=1; Cur:=First;
  Repeat
    Ind[M]:=Cur; Inc(M); Min:=Cur;
    For i:=N DownTo 1 Do
    Begin
      If (A[i].x=A[Cur].x) And (A[i].y=A[Cur].y) Then Continue;
      z:=P3Square(A[Cur],A[i],A[Min]);
      If (Min=Cur) Or (z>0) Or (z=0) And PBtwS(A[Min],A[Cur],A[i]) Then Min:=i;
    End;
    Cur:=Min;
  Until Cur=First;
M:=M-1;
writeln();
writeln('Порядок соединения точек:');
for i:=1 to M do writeln('№ ',Ind[i],'  X[',Ind[i],']= ',A[Ind[i]].x,'  Y[',Ind[i],']= ',A[Ind[i]].y);
End.

Последний раз редактировалось Чайник.ру; 06.06.2011 в 21:39.
Чайник.ру вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обход по спирали Николай_92 Помощь студентам 1 25.12.2010 11:11
Обход капчи ZverSS88 Работа с сетью в Delphi 6 05.11.2010 13:38
Обход защиты Niklan Софт 0 11.11.2009 22:35
Обход Н/Д Slavik Microsoft Office Excel 2 09.05.2009 00:49