program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
Type otr=class
private
x1,y1,x2,y2,X,Y, dl,u:real;
{координаты концов отрезка, его длина и угол с Ох в градусах}
public
constructor create(x1,y1,x2,y2:real);
Function Get_dl:real;
Function Get_u:real;//в градусах
End;
constructor otr.create(x1,y1,x2,y2:real);
begin
self.x1:=x1; self.x2:=x2;self.y1:=y1;self.y2:=y2;
end;
Function otr.Get_dl:real;
begin
X:=(x1+x2)/2;
Y:=(y1+y2)/2;
dl:=sqrt(sqr(X-0)+sqr(Y-0));
result:=dl;
end;
Function otr.Get_u:real;
begin
if abs(x1-x2)<1.0e-6 then
u:=90
else
u:=arctan((y1-y2)/(x1-x2))/pi*180;
result:=u;
end;
Var n:integer; ugol:real;x,y:array of real;
imax,jmax,
i,j:integer; max:real;
o
tr;
begin
{ TODO -oUser -cConsole Main : Insert code here }
Writeln ('Input ugol, n');
Readln (ugol, n);
SetLength (x,n); SetLength (y,n);
Writeln ('x,y');
for i:= 0 to n-1 do
Readln(x[i],y[i]);
max:=0; imax:=-1; jmax:=-1;
for i:= 0 to n-2 do
for j:= i+1 to n-1 do
begin
o:=otr.create(x[i],y[i],x[j],y[j]);
if abs(ugol-o.Get_u)=90 then
if max<o.Get_dl then
begin
max:=o.Get_dl;
imax:=i;
jmax:=j
end;
o.Destroy;
end;
if imax=-1 then
writeln ('net otrezkov')
else
writeln ('imax=', imax+1, 'jmax=', jmax+1);
readln
end.