1.

#include<graphics.h>
void main()
{
   int gd=0,gm,a,b,c,x,y,dx,dy,i;
   float d[10];
   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,480,320,0);

   for(i=0;i<8;i=i+2)
   {
     printf("Enter %c%c: ",ch[i],ch[i+1]);
     scanf("%f",&d[i]);
   }
   dx=d[4]-d[0];
   dy=d[6]-d[2];
   if(abs(dx)<abs(dy))
   c=dy;
   else
   c=dx;
   while((d[0]!=d[4])&&(d[2]!=d[6]))
   {
      x=(int)d[0];
      y=(int)d[2];
      putpixel(320+x,240-y,5);
      delay(100);
      d[0]=d[0]+(float)dx/abs(c);
      d[2]=d[2]+(float)dy/abs(c);
   }
  getch();
}

 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

2.

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

#define Round(a) (int)(a+0.5)

void LineDDA(int x1, int y1, int x2, int y2)
{
   int dx=x2-x1, dy=y2-y1, step, k;
   float xinc,yinc, x=x1, y=y1;

   if (abs(dx)>abs(dy))
   step=abs(dx);
   else
   step=abs(dy);

   xinc=dx/(float)step;
   yinc=dy/(float)step;

   putpixel(320+Round(x), 240-Round(y), 4);
   for (k=0; k<step; k++)
   {
      x+=xinc;
      y+=yinc;
      putpixel(320+Round(x), 240-Round(y), 4);
      delay(100);
   }
}

void main()
{
   int x1,y1,x2,y2,gd=0,gm;

   clrscr();
   printf("x1= ");
   scanf("%d",&x1);
   printf("y1= ");
   scanf("%d",&y1);
   printf("x2= ");
   scanf("%d",&x2);
   printf("y2= ");
   scanf("%d",&y2);

   initgraph(&gd,&gm,"D:\\TC\\bgi");
   line(0,240,640,240);
   line(320,0,320,480);

   LineDDA(x1,y1,x2,y2);
   getch();
}