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

void swap(int &x,int &y)
{
int k=x;
x=y;
y=k;
}

void main()
{
int gd=DETECT,gm=DETECT,x1,x2,y1,y2,dx,dy,p,k;
float m=0;

clrscr();

printf("Enter the sarting point x1 & y1n");
scanf("%d%d",&x1,&y1);

printf("Enter the end point x2 & y2n");
scanf("%d%d",&x2,&y2);

dx=abs(x2-x1);
dy=abs(y2-y1);
m=(float)(y2-y1)/(x2-x1);

initgraph(&gd,&gm,"");
cleardevice();

if(fabs(m)>1)
{
swap(x1,y1);
swap(x2,y2);
swap(dx,dy);
}

if((x1>x2))
{
x1=x2;
y1=y2;
}
p=2*dy-dx;
for(k=0;k<abs(dx);k++)
{
if(p<0)
{
p=p+2*dy;
}
else
{
if(m<0) y1--;
else y1++;
p=p+(2*dy)-(2*dx);
}
if(fabs(m)<=1)putpixel(x1++,y1,15);
else putpixel(y1,x1++,15);
}

getch();
}

Posted by Dipin Krishna Tuesday, October 7, 2008

0 comments

Subscribe here

Get visitors map like this