//1.
#include<graphics.h>
void main()
{
int gd=0,gm,a,i,b=1,c=1,dx,dy,x,y,x1[10],xend;
char ch[]={'x','1','y','1','x','2','y','2'};
clrscr();
initgraph(&gd,&gm,"D:\\tc\\bgi");
setcolor(2);
line(0,240,640,240);
line(320,0,320,480);
for(i=0;i<8;i=i+2)
{
printf("Enter %c%c: ",ch[i],ch[i+1]);
scanf("%d",&x1[i]);
}
dx=x1[4]-x1[0];
dy=x1[6]-x1[2];
if(abs(dx)<abs(dy))
b=0;
else
c=0;
if(dx>0)
{
x=x1[0];
xend=x1[4];
y=x1[2];
}
else
{
x=x1[4];
xend=x1[0];
y=x1[6];
}
a=b*(2*abs(dy)-abs(dx))+c*(2*abs(dx)-abs(dy));
while(x<=xend)
{
putpixel(320+x,240-y,5);
delay(100);
if(a<0)
a=a+b*(2*abs(dy))+c*(2*abs(dx));
else
{
a=a+b*(2*abs(dy)-2*abs(dx))+c*(2*abs(dx)-2*abs(dy));
y=y+b;
x=x+c;
}
x=x+b;
y=y+c;
}
getch();
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//2.
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
void main()
{
int gd=0,gm;
int x1,p=1,y1,x2,y2,dx,dy,d,x,y,xend,yend,a=0,b=0;
clrscr();
initgraph(&gd,&gm,"D:\\tc\\bgi");
printf("x1= ");
scanf("%d",&x1);
printf("y1= ");
scanf("%d",&y1);
printf("x2= ");
scanf("%d",&x2);
printf("y2= ");
scanf("%d",&y2);
setcolor(5);
line(0,240,640,240);
line(320,0,320,480);
line(x1+320,240-y1,x2+320,240-y2);
setcolor(3);
dx=x2-x1;
dy=y2-y1;
if(dy<0&&0<dx)
{
p=-1;
if(x2<0)
p=1;
}
if(abs(dx)>abs(dy))
a=1;
else
b=1;
if(dx>0)
{
x=x1;
y=y1;
xend=x2;
}
else
{
x=x2;
y=y2;
xend=x1;
}
d=a*(2*abs(dy)-abs(dx))+b*(2*abs(dx)-abs(dy));
while(x!=xend)
{
delay(100);
putpixel(320+x,240-y,3);
if(d<0)
d=a*(d+2*abs(dy))+b*(d+2*abs(dx));
else
{
d=a*(d+2*abs(dy)-2*abs(dx))+b*(d+2*abs(dx)-2*abs(dy));
y=y+a*p;
x=x+b;
}
y=y+b*p;
x=x+a;
}
getch();
}