Boundary Fill Algorithm (C++)

#include <iostream.h>
#include <conio.h>
#include <graphics.h>
#include <dos.h>
void bfill(int x,int y,int f_col,int b_col){
int current = getpixel(x,y);
if(current!=f_col&&current!=b_col){
delay(1);
putpixel(x,y,f_col);
bfill(x+1,y,f_col,b_col);
bfill(x-1,y,f_col,b_col);
bfill(x,y+1,f_col,b_col);
bfill(x,y-1,f_col,b_col);
}
}
void main(){
int xc,yc,r;
int gdriver = DETECT,gmode;
initgraph(&gdriver,&gmode,”C:\TC\BGI”);
cout<<“Enter co-ordinates of the centre: “;
cin>>xc>>yc;
cout<<“Enter radius of circle: “;
cin>>r;
circle(xc,yc,r);
cout<<“Press any key to fill circle…”;
getch();
bfill(xc,yc,RED,WHITE);
getch();
closegraph();
}

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s