1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
помогите переделать написану мной программу. чтобы я мог ввести радиус и 5угольник менялся с нем
program z2; uses crt, graph; var dr,mode,i,n,r:integer; begin randomize; dr:=detect; mode:=0; initgraph(dr,mode,'c:\tp\bgi'); circle(300,240,50); moveto(300,190); lineto(350,230); lineto(225,283); lineto(275,283); lineto(250,230); lineto(300,190); r:=0; n:=2; for i:=0 to 70 do begin delay(45000); if i=r then if n=1 then begin cleardevice; circle(300,240,50); setfillstyle(1,random(r+1)); floodfill(290,192,white); moveto(300,190); lineto(350,230); lineto(325,283); lineto(275,283); lineto(250,230); lineto(300,190); setfillstyle(1,random®); floodfill(300,240,white); n:=2;r:=r+10; end else if n=2 then begin cleardevice; circle(300,240,50); setfillstyle(1,random®); floodfill(290,192,white); moveto(300,290); lineto(255,260); lineto(270,200); lineto(330,200); lineto(345,260); lineto(300,290); setfillstyle(1,random®); floodfill(300,240,white); n:=1; r:=r+10; end; end; readln; closegraph; end.
Если б ты еще задание привел, то было бы вообще прекрасно... Тебе что, надо в разноцветном круге крутить разноцветный пятиугольник? Тогда смотри в сторону DrawPoly/FillPoly, и не надо жестко задавать точки, достаточно их высчитывать перед отрисовкой. Вот набросок, добавишь закрашивание круга:
program z2;
uses crt, graph;
const points = 5; var T: pointtype; pts: array[1 .. points + 1] of pointtype; centerx, centery, C, i, j, R: integer; angle, start_angle: real;
gd, gm: integer;
begin r := 100; { <--- Можешь и вводить }
randomize; gd := detect; initgraph(gd, gm, '');
centerx := getmaxx div 2; centery := getmaxy div 2;
for i := 1 to 5 do begin cleardevice; setcolor(white); circle(centerx, centery, R); { <--- Здесь надо закрасить круг нужным цветом }
if odd(i) then start_angle := 54 else start_angle := 18; for j := 1 to points do begin angle := (start_angle + pred(j) * (360 div points)) * (Pi / 180); pts[j].X := centerx + trunc(R * cos(angle)); pts[j].Y := centery + trunc(R * sin(angle)); end; pts[points + 1] := pts[1];
C := random(16); setfillstyle(solidfill, C); fillpoly(points + 1, pts);
delay(1000); end; readln; closegraph; end.
(проверялось в Турбо Паскале. В 32-битных работает не совсем корректно, так что просьба обладателей FPC сразу не кидаться камнями, этот код - именно для Турбо)