C Program
#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 & y1\n"); scanf("%d%d", &x1, &y1); printf("Enter the end point x2 & y2\n"); 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(); }