Помощь - Поиск - Пользователи - Календарь
Полная версия: Oshibka v proge
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Perfez
В чём ошибка в программе?

type
 bool=array[1..2000] of boolean;
var
 n,i,p,k:integer;
 x,y:array[1..2000] of extended;
 nb:bool;
 min:extended;
 Function Check(nb:bool; n:integer):integer;
 var
  l,j,s:integer;
 Begin
  Check:=-1;
  For l:=1 to n do
   If nb[l]=False then
	Begin
	 j:=j+1;
	 s:=l;
	End;
   If j=1 then
	Begin
	 Check:=s;
	 p:=s;
	End;
 End;
Begin
 ReadLn(n);
 For i:=1 to n do
  Read(x[n],y[n]);
 For  i:=2 to n do
  If min>Sqrt(Sqr(x[1]-x[i])+Sqr(y[1]-y[i])) then
   Begin
	min:=Sqrt(Sqr(x[1]-x[i])+Sqr(y[1]-y[i]));
	k:=i;
   End;
 nb[k]:=True;
 Repeat
  For  i:=1 to n do
   If nb[i]=False then
	Begin
	 If min>Sqrt(Sqr(x[k+1]-x[i])+Sqr(y[k+1]-y[i])) then
	  Begin
	   min:=Sqrt(Sqr(x[k+1]-x[i])+Sqr(y[k+1]-y[i]));
	   k:=i;
	  End;
	 nb[k]:=True;
	End;
 Until Check(nb,n)<>-1;
 WriteLn(p);
End.

мисс_граффити
У меня компилируется, даже ответ выдает...
Правильный или нет - загадка, потому что неизвестно, что она должна делать...
Perfez
Проверьте пожалуйста этот тест:
6
1 -1
-2 0
1 3
4 7
5 -3
6 2
Zzzz...
Лучше напиши само условие задачи
Perfez
Вот условие задачи: smile.gif
Есть одна игра.В ней участвуют N человек(2<=N<=2000),вводятся их координаты(-10000<=x/y<=10000*real).Логика в том что первый по счёту/по порядку/по списку человек находит самого близкого к себе по расстоянию,и тот выбывает из игры,после этого человек идущий по порядку/по счёту/по списку после выбывшего опять проделывает вышеуказанную процедуру,всё это делается до тех пор пока не останеться один человек.Выводиться индекс этого человека в матрице.
Всё по моему... smile.gif
Задача в общем простая,но я не пойму в чём проблема... blink.gif
мисс_граффити
начальные значения задавать не надо?...
min присвоить что-нибудь... для приличия...
а то неизвестно, что выдаст
If min>Sqrt(Sqr(x[1]-x[i])+Sqr(y[1]-y[i]))

точнее, поскольку с большой степенью вероятности min=0...
Perfez
скажем,да может быть, smile.gif но это тоже не помогает: wacko.gif yes2.gif
Цитата


min:=30000;



и ничего... smile.gif wacko.gif
Нажмите для просмотра прикрепленного файла


Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.