#include /* 0,200,100,50*/ #include #include #include main() { int gd=DETECT,gm; int i,xa,ya,xb,yb,dy,dx,pa,p,xk,yk,yend; printf("Enter the start co-ordinate (xa,ya) :"); scanf("%d %d",&xa,&ya); printf("Enter the end co-ordinate (xb,yb) :"); scanf("%d %d",&xb,&yb); initgraph(&gd,&gm,"c:\\turboc\\bgi"); putpixel(xa,ya,WHITE); /* computing for the constants dx, dy */ dx=fabs(xb-xa); dy=fabs(yb-ya); /* computing for inital value of */ p = dy-2*(dx); if (ya > yb) { xk = xb; yk = yb; yend = ya; } else { xk = xa; yk = ya; yend = yb; } /* main loop */ while (yk <= yend) { if(p<0) { xk--; yk++; /* // putpixel(xk,yk,WHITE);*/ p=p - 2*(fabs(dx)-fabs(dy)); } else { yk++; /*// putpixel(xk,yk,WHITE);*/ p=(p-2*fabs(dx)); } putpixel(xk,yk,RED); } getch(); line(xa,ya,xb,yb); getch(); closegraph(); return(0); }