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

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

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

putpixel(random((320-R)+1+(320+R)-1), random((240-R)+1+(240+R)-1),white); Что нужно написать тут чтобы точки были только внутри круга?
Листинг программы
  1. program krug;
  2. uses crt,graph;
  3. var R,d,m,i: Integer;
  4. Begin
  5. clrscr;
  6. Writeln('Vvedite radius okruznosti R');
  7. read(R);
  8. d:=9;
  9. m:=2;
  10. initgraph(d,m,'');
  11. randomize;
  12. setcolor(2);
  13. circle(320,240,R);
  14. setfillstyle(1,green);
  15. floodfill(320,240,green);
  16. for i:= 1 to 100 do
  17. putpixel(random((320-R)+1+(320+R)-1), random((240-R)+1+(240+R)-1),white);
  18. readln;
  19. readkey;
  20. end.

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

textual
Листинг программы
  1. const xc=320; yc=240;
  2. ...
  3.   Circle(xc,yc,R);
  4.   ...
  5.   for i:=1 to 100 do begin
  6.     repeat
  7.       tx:=-R+Random(2*R+1); ty:=-R+Random(2*R+1);
  8.     until Sqr(tx)+Sqr(ty)<=Sqr(R);
  9.     PutPixel(xc+tc,yc+tc,White);
  10.   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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы