На экране построить N произвольных окружностей (можно использовать функцию Random), допускается их пересечение.
Окружности, не пересекающиеся ни с какой другой окружностью, выделить другим цветом или штриховкой. Определить их количество.
Не могу найти подходящий алгоритм для выполнения выделенной части.
Вот процедура рисования :low:
Код
Procedure graphic;
var
grDriver, grMode, ErrCode,
x, y, n : integer;
Begin
ClrScr;
write('BBEDUTE N= ');
readln(n);
grDriver:=Detect;
InitGraph(grDriver, grMode, 'A:\');
ErrCode:=GraphResult;
If ErrCode = grOk then
begin
x := GetMaxX div 2;
y := GetMaxY div 2;
Repeat
{SetColor(succ(Random(white)));}
SetColor(White);
SetLineStyle(0,0,2*Random(2)+1);
x := Random(GetMaxX);
y := Random(GetMaxY);
Circle(x, y, Random(GetMaxY div 5));
Dec(N);
Until N=0;
If ReadKey=#0 then x := ord(ReadKey);
ReadLn;
CloseGraph;
end
else WriteLn('System failure: Matrix Reloaded :D', GraphErrorMsg(ErrCode));