Окружность задается радиусом и координатами центра - Free Pascal

Формулировка задачи:

Окружность задается радиусом и координатами центра. Определить, найдется ли среди данных десяти окружностей окружность, лежащая внутри данной окружности. Написать с использованием подпрограмм. Заранее БОЛЬШОЕ спасибо.

Код к задаче: «Окружность задается радиусом и координатами центра - Free Pascal»

textual
const n=10;
function inside(x0,y0,r0,x,y,r:real):boolean;
begin
inside:=sqr(x0-x)+sqr(y0-y)<=sqr(r0-r)
end;
var x0,y0,r0,x,y,r:real;
    t:array[1..3,1..n] of real;
    i,k:byte;
begin
randomize;
repeat
writeln('Введите кооординаты центра от -10 до 10 и радиус от 1 до 10 основной окружности');
readln(x0,y0,r0);
until(x0>=-10)and(x0<=10)and(y0>=-10)and(y0<=10)and(r0>=1)and(r0<=10);
for i:=1 to n do
 begin
  t[1,i]:=-10+random*(20);
  t[2,i]:=-10+random*(20);
  t[3,i]:=random*(10);
 end;
writeln('Параметры окружностей');
for i:=1 to n do
 begin
  write(i:2,'(x=',t[1,i]:5:2,' y=',t[2,i]:5:2,' r=',t[3,i]:5:2,') ');
  if i mod 2=0 then writeln;
 end;
k:=0;
i:=1;
while(i<=n)and(k=0) do
if inside(x0,y0,r0,t[1,i],t[2,i],t[3,i]) then k:=i
else inc(i);
if k=0 then write('Нет окружности внутри данной')
else write('Есть окружности внутри данной, например окружность номер ',k)
end.

12   голосов, оценка 4.333 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы