program circle; uses crt; const nmax=20;//макс число радиусов var r:array[0..nmax] of real;//0 для начала координат x,y:real; n,i,j,i1,i2:integer; t:real; begin clrscr; repeat write('Количество радиусов до ',nmax,' n='); readln(n); until n in [1..nmax]; writeln('Введите ',n,' радиусов.'); for i:=1 to n do repeat write('Радиус ',i,'='); readln(r[i]); until r[i]>0; clrscr; //Сортируем радиусы по возрастанию for i:=1 to n-1 do for j:=i+1 to n do if r[i]>r[j] then begin t:=r[i]; r[i]:=r[j]; r[j]:=t; end; writeln('Введены такие радиусы:'); for i:=1 to n do write(r[i]:0:1,' '); writeln; writeln; writeln('Введите координаты точки:'); write(' x = '); readln(x); write(' y = '); readln(y); r[0]:=0; i1:=0; i:=1; while (i<=n)and(i1=0) do //Пока не конец и не нашли место if x*x+y*y<=sqr(r[i]) then i1:=i //Если нашли - запомним и прекратим поиск else i:=i+1; //Иначе дальше if i1=0 then write('Точка не попадает в круги') else write('Точка попадает между окружностями номер ',i1-1,' и ',i1); readln end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.