Лучший ответ

    1.  1 0

    DuGi3aBPuK 6 (12808)3512 14 лет  

    procedure TForm1.Button1Click(Sender: TObject);
    var x,y,p,R,xs,ys:integer;
    begin
        R:=StrToInt(Edit1.Text);
        xs:=StrToInt(Edit2.Text);
        ys:=StrToInt(Edit3.Text);
        x:=0;
        y:=R;
        p:=1-R;
        Form1.Canvas.Pixels[x+xs,y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[x+xs,-y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[-x+xs,-y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[-x+xs,y+ys]:=CLGREEN;
    while x<=y do
        begin
        if p<0 then
          begin
        x:=x+1;
        y:=y;
        Form1.Canvas.Pixels[x+xs,y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[x+xs,-y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[-x+xs,-y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[-x+xs,y+ys]:=CLGREEN;
        p:=p+1+2*x;
          end
        else
          begin
        x:=x+1;
        y:=y-1;
        p:=p+1+2*x-2*y;
        Form1.Canvas.Pixels[x+xs,y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[x+xs,-y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[-x+xs,-y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[-x+xs,y+ys]:=CLGREEN;
          end;
        end;
    begin
        x:=R;
        y:=0;
        p:=1-R;
        Form1.Canvas.Pixels[x+xs,y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[x+xs,-y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[-x+xs,-y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[-x+xs,y+ys]:=CLGREEN;
    while x>y do
        begin
        if p<0 then
          begin
        y:=y+1;
        x:=x;
        p:=p+1+2*y;
        Form1.Canvas.Pixels[x+xs,y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[x+xs,-y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[-x+xs,-y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[-x+xs,y+ys]:=CLGREEN;
          end
        else
          begin
        y:=y+1;
        x:=x-1;
        p:=p+1+2*y-2*x;
        Form1.Canvas.Pixels[x+xs,y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[x+xs,-y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[-x+xs,-y+ys]:=CLGREEN;
        Form1.Canvas.Pixels[-x+xs,y+ys]:=CLGREEN;
          end;
       end;
    end;
    end;
    end.

Ответы

    1.  1 0

    Братюня 2 (278)27 14 лет  

    зачем это в пятницу вечером?

    1.  1 0

    avenzio_ (34) 5 (4872)1921 14 лет  

    ну чисто из логических соображений, меняются знаки Х и У.
    перебрав все комбинации ++, --, +-, -+ у тебя получится, что ты побывал во всех 4 квадрантах

    1.  0 0

    AlexDpils 5 (3047)718 14 лет  

    там есть разные методы, итеральный, брезенхельма и т.д., если надо пиши..

Похожие вопросы

Рейтинг@Mail.ru Top.LV PULS.LV Professional rating system