Sunday 23 March 2014

Boundary Fill Algorithm Using C

#include<conio.h>
#include<graphics.h>
#include<stdio.h>
#include<dos.h>

void boundryFill(int, int, int, int);
int midx=319, midy=239;

void main()
{
int gdriver=DETECT, gmode, x,y,r;
initgraph(&gdriver, &gmode, "c:\\tc\\bgi");
cleardevice();
printf("Enter the Center of circle (X,Y) : ");
scanf("%d %d",&x,&y);
printf("Enter the Radius of circle R : ");
scanf("%d",&r);
circle(midx+x,midy-y,r);
getch();
boundryFill(midx+x,midy-y,13,15);
getch();
closegraph();
}
void boundryFill(int x, int y, int fill, int boundry)
{
if((getpixel(x,y)!= fill) && (getpixel(x,y) != boundry))
{
putpixel(x,y,fill);
delay(5);
boundryFill(x+1,y,fill,boundry);
boundryFill(x-1,y,fill,boundry);
boundryFill(x,y+1,fill,boundry);
boundryFill(x,y-1,fill,boundry);
}
}

Flood Fill Algorithm Using C

#include<conio.h>
#include<graphics.h>
#include<stdio.h>
#include<dos.h>

void flood(int,int,int);

void main()
{

int gd=DETECT,gm;
int ch,x,y,bc,fc;
initgraph(&gd,&gm,"c:\\tc\\bgi");
cleardevice();
printf("Enter boundry color:");
scanf("%d",&bc);
setcolor(bc);
rectangle(250,200,300,250);
x=280;
y=240;
flood(x,y,bc);
getch();
closegraph();
}
void flood(int x,int y,int bc)
{
if(getpixel(x,y)!=bc)
{
putpixel(x,y,bc);
flood(x+1,y,bc);
flood(x,y+1,bc);
flood(x-1,y,bc);
flood(x,y-1,bc);
}
}

Thursday 6 March 2014

Tower Of Hanoi Using Backtracking in c++

#include<iostream.h>

#include<conio.h> 

void tower(int,char,char,char); 

void main()

{

int n; 

clrscr();

cout<<"enter the disk number :  ";

cin>>n;tower(n,'A','C','B'); 

getch();

void tower(int n,char from,char to,char aux)

{

if(n==1)
    {

    cout<<endl<<"move 1 from peg "<<from<<" to "<<to;return;

   }

tower(n-1,from,aux,to);

cout<<endl<<"move "<<n<<" from peg "<<from<<" to "<<to;

tower(n-1,aux,to,from);

}


Tuesday 4 March 2014

Draw Arc Using C

#include<conio.h>
#include<graphics.h>
#include<stdio.h>
#include<dos.h>
void main()
{
        int gd=DETECT,gm=0;
initgraph(&gd,&gm,"c:\\tc\\bgi");
       arc(110, 110, 0, 145, 55);
       /*
       arc(a,b,c,d,e);
       a= x
       b=y
       c=start angle
       d= end angle
       e=radius of arc.
       */
       getch();
       closegraph();
}

Draw Rectangle Using C

#include<conio.h>
#include<graphics.h>
#include<stdio.h>
void main()
{
int gd=DETECT,gm=0;
initgraph(&gd,&gm,"c:\\tc\\bgi");
cleardevice();
     int midx,midy,x,y;
     x=getmaxx();
     y=getmaxy();
     midx=x/2;
     midy=y/2;
     rectangle(midx-110,midy-110,midx+110,midy+110);
     getch();
     closegraph();
}

Draw Circle Using C

#include<conio.h>
#include<graphics.h>
#include<stdio.h>
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\tc\\bgi");
cleardevice();
        gm=0;
        circle(250,250,100);
       /*  circle(a,b,c);
      a=X axis element
      b=Y axis element
      c=radius
       */
       getch();
       closegraph();
}

Horizontal Line And Vertical Line of Center Of Screen Using C

#include<conio.h>
#include<graphics.h>
#include<stdio.h>
void main()
{
int gd=DETECT,gm,maxx,maxy,midx,midy;
initgraph(&gd,&gm,"c:\\tc\\bgi");
cleardevice();
        maxx=getmaxx();
        maxy=getmaxy();
        midx=maxx/2;
        midy=maxy/2;
        line(0,midy,midx,maxy);
        line(midx,0,midx,maxy);
getch();
closegraph();
}


////////////////////////////OUTPUT//////////////////////////////



Midpoint Circle Drawing Algorithm Using C

#include<conio.h>
#include<graphics.h>
#include<stdio.h>
#include<dos.h>
void main()
{
int gd=DETECT,gm,xc,yc,r,x,y,p;
initgraph(&gd,&gm,"c:\\tc\\bgi");
cleardevice();
printf("Enter xc and yc:");
scanf("%d%d",&xc,&yc);
printf("Enter radius:");
scanf("%d",&r);
x=0;
y=r;
p=1.25-r;
do
{
putpixel(xc+x,yc+y,1);
putpixel(xc+y,yc+x,2);
putpixel(xc-x,yc+y,1);
putpixel(xc+y,yc-x,2);
putpixel(xc-y,yc-x,1);
putpixel(xc-x,yc-y,2);
putpixel(xc+x,yc-y,1);
putpixel(xc-y,yc+x,2);
if(p<0)
{
                        p=p+(2*x)+1;
}
else
{
        p=p+(2*x)+1-(2*y);
y=y-1;
}
x=x+1;
}
while(x<y)
       putpixel(xc+x,yc+y,2);
getch();
closegraph();
}

Bresenham Circle Drawing Algorithm Using C

#include<conio.h>
#include<graphics.h>
#include<stdio.h>
#include<dos.h>
void main()
{
int gd=DETECT,gm,xc,yc,r,x,y,p;
initgraph(&gd,&gm,"c:\\tc\\bgi");
cleardevice();
printf("Enter xc and yc:");
scanf("%d%d",&xc,&yc);
printf("Enter radius:");
scanf("%d",&r);
x=0;
y=r;
p=3-2*r;
do
{
                delay(25);
putpixel(xc+x,yc+y,1);
putpixel(xc+y,yc+x,2);
putpixel(xc-x,yc+y,1);
putpixel(xc+y,yc-x,2);
putpixel(xc-y,yc-x,1);
putpixel(xc-x,yc-y,2);
putpixel(xc+x,yc-y,1);
putpixel(xc-y,yc+x,2);
if(p<0) {
p=p+4*x+6;
}
else
{
p=p+4*(x-y)+10;
y=y-1;
}
x=x+1;
}
while(x<y)
         putpixel(xc+x,yc+y,2);
getch();
closegraph();
}



Bresenham Line Drawing Algorithm Using C

#include<conio.h>
#include<graphics.h>
#include<stdio.h>
#include<dos.h>
void main()
{
      int gd = DETECT, gm;
      int dx, dy, p, end;
      float x1, x2, y1, y2, x, y;
      initgraph(&gd, &gm, "c:\tc\bgi");
      printf("Enter Value of X1: ");
      scanf("%f", &x1);
      printf("Enter Value of Y1: ");
      scanf("%f", &y1);
      printf("Enter Value of X2: ");
      scanf("%f", &x2);
      printf("Enter Value of Y2: ");
      scanf("%f", &y2);
      dx = abs(x1 - x2);
      dy = abs(y1 - y2);
      p = 2 * dy - dx;
      if(x1 > x2)
      {
            x = x2;
            y = y2;
            end = x1;
      }
      else
      {
            x = x1;
            y = y1;
            end = x2;
      }
      putpixel(x, y, 10);
      while(x < end)
      {
            x = x + 1;
            if(p < 0)
            {
                  p = p + 2 * dy;
            }
            else
            {
                  y = y + 1;
                  p = p + 2 * (dy - dx);
            }
            putpixel(x, y, 10);
      }
      getch();
      closegraph();
}