Given three points (x1, y1), (x2, y2) and (x3, y3), write a C program to check if all the three points fall on one straight line.
Note: (x1, y1), (x2, y2) and (x3, y3) are called co-ordinates of x and y axis.
Related Read:
Basic Arithmetic Operations In C
Page Contents
User Input:
Enter points (x1, y1)
1
2
Enter points (x2, y2)
3
4
Enter points (x3, y3)
5
6
Output:
All 3 points lie on the same straight line.
Slope of points (x1, y1) and (x2, y2) = m;
m = (y2 – y1) / (x2 – x1);
Slope of points (x2, y2) and (x3, y3) = n;
n = (y3 – y2) / (x3 – x2);
We ask the user to enter all 3 points (x1, y1), (x2, y2) and (x3, y3). Next we calculate slope of (x1, y1), (x2, y2) and (x2, y2) (x3, y3). If slopes of both these points are equal, then all these 3 points lie on same straight line.
Video Tutorial: C Program To Check If Three Points Are On Same Straight Line
#include < stdio.h > int main() { float x1, y1, x2, y2, x3, y3, m, n; printf("Enter points (x1, y1)\n"); scanf("%f%f", &x1, &y1); printf("Enter points (x2, y2)\n"); scanf("%f%f", &x2, &y2); printf("Enter points (x3, y3)\n"); scanf("%f%f", &x3, &y3); m = (y2 - y1) / (x2 - x1); n = (y3 - y2) / (x3 - x2); if( m == n) { printf("All 3 points lie on the same line\n"); } else { printf("All 3 points do not lie on the same line\n"); } return 0; }
Output 1:
Enter points (x1, y1)
-2
2
Enter points (x2, y2)
2
5
Enter points (x3, y3)
6
8
All 3 points lie on the same straight line.
Output 2:
Enter points (x1, y1)
1
2
Enter points (x2, y2)
3
4
Enter points (x3, y3)
-10
15
All 3 points do not lie on the same straight line.
For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List
For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert