//Program to plot a circle by Bresanham's Approach #include<iostream.h>
#include<graphics.h>
#include<math.h>
#include<conio.h>voiddrawcircle(intx1,inty1,intr){intx=0,y=r,p;p=3-2*r;while(x<y){if(p<0){p+=2*(2*x+3);x++;}else{x++,y–;p+=2*(2*x+5)-4*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();}