#include< stdio.h>
#include< conio.h>
#include< graphics.h>
void BoundaryFill4(int,int,int,int);
void BoundaryFill8(int,int,int,int);
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"");
setbkcolor(15);
setcolor(BLUE);
outtextxy(0,0,"Boundary Filling algorithm using 4-connected and 8-connected");
rectangle(50,50,100,100);
circle(50,50,30);
BoundaryFill8(56,56,5,BLUE);
BoundaryFill4(40,40,14,BLUE);
getch();
}
void BoundaryFill4(int x,int y,int fill,int boundary)
{
int current;
current=getpixel(x,y);
if((current!=boundary) && (current!=fill))
{
putpixel(x,y,fill);
BoundaryFill4(x+1,y,fill,boundary);
BoundaryFill4(x-1,y,fill,boundary);
BoundaryFill4(x,y-1,fill,boundary);
BoundaryFill4(x,y+1,fill,boundary);
}
}
void BoundaryFill8(int x,int y,int fill,int boundary)
{
int current;
current=getpixel(x,y);
if((current!=boundary) && (current!=fill))
{
putpixel(x,y,fill);
BoundaryFill8(x+1,y,fill,boundary);
BoundaryFill8(x-1,y,fill,boundary);
BoundaryFill8(x,y-1,fill,boundary);
BoundaryFill8(x,y+1,fill,boundary);
BoundaryFill8(x+1,y+1,fill,boundary);
BoundaryFill8(x-1,y+1,fill,boundary);
BoundaryFill8(x-1,y-1,fill,boundary);
BoundaryFill8(x+1,y-1,fill,boundary);
}
}
#include #include int fsize; int frm[15]; void display(); void main() { int pg[100],nPage,i,j,pf=0,top=-1,temp,flag=0; clrscr(); printf("\n Enter frame size:"); scanf("%d",&fsize); printf("\n Enter number of pages:"); scanf("%d",&nPage); for(i=0;i OUTPUT Enter frame size:3 Enter number of pages:12 Enter page[1]:1 Enter page[2]:2 Enter page[3]:3 Enter page[4]:4 Enter page[5]:1 Enter page[6]:2 Enter page[7]:5 Enter page[8]:1 Enter page[9]:2 Enter page[10]:3 Enter page[11]:4 Enter page[12]:5 page | Frame content -------------------------------------- 1 | 1 -1 -1 2 | 1 2 -1 3 | 1 2 3 4 | 4 2 3 1 | 4 1 3 2 | 4 1 2 5 | 5 1 2 1 | 5 1 2 2 | 5 1 2 3 | 5 3 2 4 | 5 3 4 5 | 5 3 4 ---------------------------...

Comments
Post a Comment