# Check whether triangle is valid or not if three points are given

Given coordinates of three points in a plane **P1**, **P2** and **P3**, the task is to check if the three points form a triangle or not**Examples:**

Input:P1 = (1, 5), P2 = (2, 5), P3 = (4, 6)Output:YesInput:P1 = (1, 1), P2 = (1, 4), P3 = (1, 5)Output:No

**Approach:** The key observation in the problem is three points form a triangle only when they don’t lie on the straight line, that is an area formed by the triangle of these three points is not equal to zero.

The above formula is derived from shoelace formula.

So we will check if the area formed by the triangle is zero or not.

Below is the implementation of the above approach:

## C++

`// C++ implementation to check` `// if three points form a triangle` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to check if three` `// points make a triangle` `void` `checkTriangle(` `int` `x1, ` `int` `y1, ` `int` `x2,` ` ` `int` `y2, ` `int` `x3, ` `int` `y3)` `{` ` ` `// Calculation the area of` ` ` `// triangle. We have skipped` ` ` `// multiplication with 0.5` ` ` `// to avoid floating point` ` ` `// computations` ` ` `int` `a = x1 * (y2 - y3)` ` ` `+ x2 * (y3 - y1)` ` ` `+ x3 * (y1 - y2);` ` ` `// Condition to check if` ` ` `// area is not equal to 0` ` ` `if` `(a == 0)` ` ` `cout << ` `"No"` `;` ` ` `else` ` ` `cout << ` `"Yes"` `;` `}` `// Driver Code` `int` `main()` `{` ` ` `int` `x1 = 1, x2 = 2, x3 = 3,` ` ` `y1 = 1, y2 = 2, y3 = 3;` ` ` `checkTriangle(x1, y1, x2,` ` ` `y2, x3, y3);` ` ` `return` `0;` `}` |

## Java

`// Java implementation to check` `// if three points form a triangle` `import` `java.io.*;` `import` `java.util.*;` `class` `GFG {` ` ` `// Function to check if three` `// points make a triangle` `static` `void` `checkTriangle(` `int` `x1, ` `int` `y1,` ` ` `int` `x2, ` `int` `y2,` ` ` `int` `x3, ` `int` `y3)` `{` ` ` `// Calculation the area of` ` ` `// triangle. We have skipped` ` ` `// multiplication with 0.5` ` ` `// to avoid floating point` ` ` `// computations` ` ` `int` `a = x1 * (y2 - y3) +` ` ` `x2 * (y3 - y1) +` ` ` `x3 * (y1 - y2);` ` ` `// Condition to check if` ` ` `// area is not equal to 0` ` ` `if` `(a == ` `0` `)` ` ` `System.out.println(` `"No"` `);` ` ` `else` ` ` `System.out.println(` `"Yes"` `);` `}` `// Driver code` `public` `static` `void` `main(String[] args)` `{` ` ` `int` `x1 = ` `1` `, y1 = ` `1` `,` ` ` `x2 = ` `2` `, y2 = ` `2` `,` ` ` `x3 = ` `3` `, y3 = ` `3` `;` ` ` `checkTriangle(x1, y1, x2, y2, x3, y3);` `}` `}` `// This code is contributed by coder001` |

## Python3

`# Python3 implementation to check` `# if three points form a triangle` `# Function to check if three` `# points make a triangle` `def` `checkTriangle(x1, y1, x2, y2, x3, y3):` ` ` ` ` `# Calculation the area of` ` ` `# triangle. We have skipped` ` ` `# multiplication with 0.5` ` ` `# to avoid floating point` ` ` `# computations` ` ` `a ` `=` `(x1 ` `*` `(y2 ` `-` `y3) ` `+` ` ` `x2 ` `*` `(y3 ` `-` `y1) ` `+` ` ` `x3 ` `*` `(y1 ` `-` `y2))` ` ` ` ` `# Condition to check if` ` ` `# area is not equal to 0` ` ` `if` `a ` `=` `=` `0` `:` ` ` `print` `(` `'No'` `)` ` ` `else` `:` ` ` `print` `(` `'Yes'` `)` ` ` `# Driver code` `if` `__name__` `=` `=` `'__main__'` `:` ` ` ` ` `(x1, x2, x3) ` `=` `(` `1` `, ` `2` `, ` `3` `)` ` ` `(y1, y2, y3) ` `=` `(` `1` `, ` `2` `, ` `3` `)` ` ` ` ` `checkTriangle(x1, y1, x2, y2, x3, y3)` ` ` `# This code is contributed by rutvik_56` |

## C#

`// C# implementation to check` `// if three points form a triangle` `using` `System;` `class` `GFG {` ` ` `// Function to check if three` `// points make a triangle` `static` `void` `checkTriangle(` `int` `x1, ` `int` `y1,` ` ` `int` `x2, ` `int` `y2,` ` ` `int` `x3, ` `int` `y3)` `{` ` ` `// Calculation the area of` ` ` `// triangle. We have skipped` ` ` `// multiplication with 0.5` ` ` `// to avoid floating point` ` ` `// computations` ` ` `int` `a = x1 * (y2 - y3) +` ` ` `x2 * (y3 - y1) +` ` ` `x3 * (y1 - y2);` ` ` `// Condition to check if` ` ` `// area is not equal to 0` ` ` `if` `(a == 0)` ` ` `Console.WriteLine(` `"No"` `);` ` ` `else` ` ` `Console.WriteLine(` `"Yes"` `);` `}` `// Driver code` `public` `static` `void` `Main()` `{` ` ` `int` `x1 = 1, y1 = 1,` ` ` `x2 = 2, y2 = 2,` ` ` `x3 = 3, y3 = 3;` ` ` ` ` `checkTriangle(x1, y1, x2, y2, x3, y3);` `}` `}` `//This code is contributed by AbhiThakur` |

## Javascript

`<script>` `// Javascript implementation to check` `// if three points form a triangle` `// Function to check if three` `// points make a triangle` `function` `checkTriangle(x1, y1, x2,` ` ` `y2, x3, y3)` `{` ` ` `// Calculation the area of` ` ` `// triangle. We have skipped` ` ` `// multiplication with 0.5` ` ` `// to avoid floating point` ` ` `// computations` ` ` `let a = x1 * (y2 - y3)` ` ` `+ x2 * (y3 - y1)` ` ` `+ x3 * (y1 - y2);` ` ` `// Condition to check if` ` ` `// area is not equal to 0` ` ` `if` `(a == 0)` ` ` `document.write(` `"No"` `);` ` ` `else` ` ` `document.write(` `"Yes"` `);` `}` `// Driver Code` ` ` `let x1 = 1, x2 = 2, x3 = 3,` ` ` `y1 = 1, y2 = 2, y3 = 3;` ` ` `checkTriangle(x1, y1, x2,` ` ` `y2, x3, y3);` ` ` `// This code is contributed by Mayank Tyagi` `</script>` |

**Output:**

No

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

In case you wish to attend **live classes **with experts, please refer **DSA Live Classes for Working Professionals **and **Competitive Programming Live for Students**.