C Program To Check If Three Points Are On One Straight Line


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

Expected Output for the Input

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.

Formula To Calculate Slope of 2 points

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);

x and y axis

Logic To Check If Three Points Are On One Straight Line

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


[youtube https://www.youtube.com/watch?v=nC-jPDhDFT0]

YouTube Link: https://www.youtube.com/watch?v=nC-jPDhDFT0 [Watch the Video In Full Screen.]

Source Code: C Program To Check If Three Points Are On One 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

Leave a Reply

Your email address will not be published. Required fields are marked *