uses crt;
type dec=record
x,y:real;
end;
pol=record
r,f:real;
end;
var dc:array[1..100] of dec;
pl:array[1..100] of pol;
n,i:byte;
begin
clrscr;
randomize;
repeat
write('Размер массива до 100 n=');
readln(n);
until n in [1..100];
for i:=1 to n do
begin
dc[i].x:=10*random;
dc[i].y:=10*random;
end;
writeln('Массив координат в декартовой системе:');
write('X:');
for i:=1 to n do
begin
write(dc[i].x:5:2);
pl[i].r:=sqrt(sqr(dc[i].x)+sqr(dc[i].y));
end;
writeln;
write('Y:');
for i:=1 to n do
begin
write(dc[i].y:5:2);
if dc[i].x=0 then
begin
if dc[i].y>0 then pl[i].f:=pi/2;
if dc[i].y<0 then pl[i].f:=-pi/2;
end
else pl[i].f:=arctan(dc[i].y/dc[i].x);
end;
writeln;
writeln;
writeln('Полярные координаты:');
write('R:');
for i:=1 to n do
write(pl[i].r:5:2);
writeln;
write('F:');
for i:=1 to n do
write(pl[i].f:5:2);
writeln;
readln
end.