//Program to plot a circle by Mid-Point Approach
#include<iostream.h>
#include<graphics.h>
#include<math.h>
#include<conio.h>voiddrawcircle(intx1,inty1,intr){intx=0,y=r,d;d=1-r;while(x<y){if(d<0){d+=2*x+3;x++;}else{x++,y--;d+=2*x+5-2*y;}putpixel(x+getmaxx()/2+x1,y+getmaxy()/2-y1,5);putpixel(-x+getmaxx()/2+x1,y+getmaxy()/2-y1,5);putpixel(x+getmaxx()/2+x1,-y+getmaxy()/2-y1,5);putpixel(-x+getmaxx()/2+x1,-y+getmaxy()/2-y1,5);putpixel(y+getmaxx()/2+x1,x+getmaxy()/2-y1,5);putpixel(-y+getmaxx()/2+x1,x+getmaxy()/2-y1,5);putpixel(y+getmaxx()/2+x1,-x+getmaxy()/2-y1,5);putpixel(-y+getmaxx()/2+x1,-x+getmaxy()/2-y1,5);}}voidmain(){intx1,y1,r;intgdriver=DETECT,gmode,errorcode;initgraph(&gdriver,&gmode,"");line(0,getmaxy()/2,getmaxx(),getmaxy()/2);line(getmaxx()/2,0,getmaxx()/2,getmaxy());cout<<"Enter x1 ";cin>>x1;cout<<"Enter y1 ";cin>>y1;cout<<"Enter r ";cin>>r;drawcircle(x1,y1,r);getch();}