#include <conio.h>
#include <graphics.h>
void main()
{
int gd=0,gm;
int x1,y1,x2,y2,dx,dy,x,y,xend,yend;
float m,b;
clrscr();
initgraph(&gd,&gm,"..\\bgi");
printf("x1= ");
scanf("%d",&x1);
printf("y1= ");
scanf("%d",&y1);
printf("x2= ");
scanf("%d",&x2);
printf("y2= ");
scanf("%d",&y2);
line(0,240,640,240);
line(320,0,320,480);
setcolor(4);
printf("\n Slope= %f",(float)(y1-y2)/(x1-x2));
dx=x2-x1;
dy=y2-y1;
m=(float)dy/dx;
b=y1-(m*x1);
if(dx>dy)
if(dx<0)
{
x=x2;
y=y2;
xend=x1;
for(x=x2; x<xend;x++)
{
putpixel(320+x,240-y,4);
delay(100);
y=(m*x)+b;
}
}
else
{
x=x1;
y=y1;
xend=x2;
for(x=x1; x<xend;x++)
{
putpixel(320+x,240-y,4);
delay(100);
y=(m*x)+b;
}
}
else
if(dy<0)
{
x=x2;
y=y2;
yend=y1;
for(y=y2; y<yend;y++)
{
putpixel(320+x,240-y,4);
delay(100);
x=(y-b)/m;
}
}
else
{
x=x1;
y=y1;
yend=y2;
for(y=y1; y<yend;y++)
{
putpixel(320+x,240-y,4);
delay(100);
x=(y-b)/m;
}
}
getch();
}