Как заполнить круг белыми точками рандомно? - Pascal

Узнай цену своей работы

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

putpixel(random((320-R)+1+(320+R)-1), random((240-R)+1+(240+R)-1),white); Что нужно написать тут чтобы точки были только внутри круга?
program krug;
uses crt,graph;
var R,d,m,i: Integer;
Begin
clrscr;
Writeln('Vvedite radius okruznosti R');
read(R);
d:=9;
m:=2;
initgraph(d,m,'');
randomize;
setcolor(2);
circle(320,240,R);
setfillstyle(1,green);
floodfill(320,240,green);
for i:= 1 to 100 do
putpixel(random((320-R)+1+(320+R)-1), random((240-R)+1+(240+R)-1),white);
readln;
readkey;
end.

Решение задачи: «Как заполнить круг белыми точками рандомно?»

textual
Листинг программы
const xc=320; yc=240;
...
  Circle(xc,yc,R);
  ...
  for i:=1 to 100 do begin
    repeat
      tx:=-R+Random(2*R+1); ty:=-R+Random(2*R+1);
    until Sqr(tx)+Sqr(ty)<=Sqr(R);
    PutPixel(xc+tc,yc+tc,White);
  end;

Объяснение кода листинга программы

  1. Создание констант xc и yc со значениями 320 и 240 соответственно.
  2. Отображение круга с центром в точке (xc, yc) и радиусом R.
  3. Цикл для заполнения области вокруг круга белыми точками, повторяемый 100 раз:
    1. Генерация случайных координат tx и ty в диапазоне от -R до R.
    2. Повторять генерацию случайных координат, пока сумма их квадратов не будет меньше или равна квадрату радиуса круга.
    3. Установка пикселя с координатами (xc+tc, yc+tc) в цвет белый (White).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы