Code
Code
#include <iostream>
#include <graphics.h>
#include <stdlib.h>
class dcircle
public:
dcircle()
x0=0;
y0=0;
x0=xx;
y0=yy;
float d;
int x,y;
x=0;
y=r;
d=3-2*r;
do
{
putpixel(x1+x0+y, y0+x-y1,15);
putpixel(x1+x0+y, y0-x-y1,15);
putpixel(x1+x0+x,y0-y-y1,15);
putpixel(x1+x0-x,y0-y-y1,15);
putpixel(x1+x0-y, y0-x-y1,15);
putpixel(x1+x0-y, y0+x-y1,15);
putpixel(x1+x0-x, y0+y-y1,15);
if (d<=0)
d = d+4*x+6;
else
d=d+4*(x-y)+10;
y=y-1;
x=x+1;
while(x<y);
};
class pt
pt()
xco=0,yco=0,color=15;
xco=x;
yco=y;
void setcolor(int c)
color=c;
void draw()
putpixel(xco,yco,color);
};
class dline:public pt
public:
dline():pt()
x2=0;
y2=0;
}
pt::setco(x,y);
x2=xx;
y2=yy;
float x,y,dx,dy,length;
int i;
pt::setcolor(colour);
dx= abs(x2-xco);
dy=abs(y2-yco);
if(dx>=dy)
length= dx;
else
length= dy;
dx=(x2-xco)/length;
dy=(y2-yco)/length;
x=xco+0.5;
y=yco+0.5;
i=1;
while(i<=length)
pt::setco(x,y);
pt::draw();
x=x+dx;
y=y+dy;
i=i+1;
pt::setco(x,y);
pt::draw();
};
int main()
int x,y,r, x1, x2, y1, y2, xmax, ymax, xmid, ymid, n, i;
dcircle c;
cin>>x;
cin>>y;
cin>>r;
xmax= getmaxx();
ymax=getmaxy();
xmid=xmax/2;
ymid=ymax/2;
setcolor(1);
c.setoff(xmid,ymid);
line(0,ymid,xmax,ymid);
setcolor(15);
c.drawc(x,y,r);
pt p1;
p1.setco(100,100);
p1.setcolor(14);
dline l;
cin>>n;
for(i=0;i<n;i++)
cin>>x1;
cin>>y1;
cin>>x2;
cin>>y2;
l.drawl(15);
}
cin>>x;
cin>>y;
cin>>r;
setcolor(5);
c.drawc(x,y,r);
getch();
delay(200);
closegraph();
return 0;
}
User Input:
OUTPUT: