# Program to find area of a triangle

Finding area using given sides:

Examples :

```Input : a = 5, b = 7, c = 8
Output : Area of a triangle is 17.320508

Input : a = 3, b = 4, c = 5
Output : Area of a triangle is 6.000000
```

Area of a triangle can simply be evaluated using following formula.

```Area = sqrt(s*(s-a)*(s-b)*(s-c))
where a, b and c are lengths of sides of
triangle and s = (a+b+c)/2```

## C++

// C++ Program to find the area
// of triangle
#include
using namespace std;

float findArea(float a, float b, float c)
{
// Length of sides must be positive
// and sum of any two sides
// must be smaller than third side.
if (a < 0 || b < 0 || c < 0 || (a + b <= c) || a + c <= b || b + c <= a) { cout << "Not a valid trianglen"; exit(0); } float s = (a + b + c) / 2; return sqrt(s * (s - a) * (s - b) * (s - c)); } // Driver Code int main() { float a = 3.0; float b = 4.0; float c = 5.0; cout << "Area is " << findArea(a, b, c); return 0; } // This code is contributed // by rathbhupendra [tabby title="C"]

 `#include   ` `#include   ` ` `  `float` `findArea(``float` `a, ``float` `b, ``float` `c) ` `{ ` `    ``// Length of sides must be positive and sum of any two sides ` `    ``// must be smaller than third side. ` `    ``if` `(a < 0 || b < 0 || c <0 || (a+b <= c) || ` `        ``a+c <=b || b+c <=a) ` `    ``{ ` `        ``printf``(``"Not a valid trianglen"``); ` `        ``exit``(0); ` `    ``} ` `    ``float` `s = (a+b+c)/2; ` `    ``return` `sqrt``(s*(s-a)*(s-b)*(s-c)); ` `} ` ` `  `int` `main() ` `{ ` `    ``float` `a = 3.0; ` `    ``float` `b = 4.0; ` `    ``float` `c = 5.0; ` ` `  `    ``printf``(``"Area is %f"``, findArea(a, b, c)); ` `    ``return` `0; ` `} `

## Java

 `// Java program to print ` `// Floyd's triangle ` `     `  `class` `Test ` `{ ` `    ``static` `float` `findArea(``float` `a, ``float` `b, ``float` `c) ` `    ``{ ` `        ``// Length of sides must be positive and sum of any two sides ` `        ``// must be smaller than third side. ` `        ``if` `(a < ``0` `|| b < ``0` `|| c <``0` `|| (a+b <= c) || ` `            ``a+c <=b || b+c <=a) ` `        ``{ ` `            ``System.out.println(``"Not a valid triangle"``); ` `            ``System.exit(``0``); ` `        ``} ` `        ``float` `s = (a+b+c)/``2``; ` `        ``return` `(``float``)Math.sqrt(s*(s-a)*(s-b)*(s-c)); ` `    ``} ` `         `  `    ``// Driver method ` `    ``public` `static` `void` `main(String[] args)  ` `    ``{ ` `        ``float` `a = ``3``.0f; ` `        ``float` `b = ``4``.0f; ` `        ``float` `c = ``5``.0f; ` `     `  `        ``System.out.println(``"Area is "` `+ findArea(a, b, c)); ` `    ``} ` `} `

## Python

 `# Python Program to find the area  ` `# of triangle  ` ` `  `# Length of sides must be positive  ` `# and sum of any two sides  ` `def` `findArea(a,b,c):  ` ` `  `    ``# must be smaller than third side.  ` `    ``if` `(a < ``0` `or` `b < ``0` `or` `c < ``0` `or` `(a``+``b <``=` `c) ``or` `(a``+``c <``=``b) ``or` `(b``+``c <``=``a) ):  ` `        ``print``(``'Not a valid trianglen'``)  ` `        ``return` `         `  `    ``# calculate the semi-perimeter  ` `    ``s ``=` `(a ``+` `b ``+` `c) ``/` `2` `     `  `    ``# calculate the area  ` `    ``area ``=` `(s ``*` `(s ``-` `a) ``*` `(s ``-` `b) ``*` `(s ``-` `c)) ``*``*` `0.5` `    ``print``(``'Area of a traingle is %f'` `%``area)  ` ` `  ` `  `# Initialize first side of traingle  ` `a ``=` `3.0` `# Initialize second side of traingle  ` `b ``=` `4.0` `# Initialize Third side of traingle  ` `c ``=` `5.0` `findArea(a,b,c)  ` ` `  `# This code is contributed by Shariq Raza  `

## C#

 `// C# program to print ` `// Floyd's triangle ` `using` `System; ` ` `  `class` `Test { ` `     `  `    ``// Function to find area ` `    ``static` `float` `findArea(``float` `a, ``float` `b, ` `                        ``float` `c) ` `    ``{ ` `         `  `        ``// Length of sides must be positive ` `        ``// and sum of any two sides ` `        ``// must be smaller than third side. ` `        ``if` `(a < 0 || b < 0 || c <0 ||  ` `        ``(a + b <= c) || a + c <=b ||  ` `            ``b + c <=a) ` `        ``{ ` `            ``Console.Write(``"Not a valid triangle"``); ` `            ``System.Environment.Exit(0); ` `        ``} ` `        ``float` `s = (a + b + c) / 2; ` `        ``return` `(``float``)Math.Sqrt(s * (s - a) *  ` `                            ``(s - b) * (s - c)); ` `    ``} ` `         `  `    ``// Driver code ` `    ``public` `static` `void` `Main()  ` `    ``{ ` `        ``float` `a = 3.0f; ` `        ``float` `b = 4.0f; ` `        ``float` `c = 5.0f; ` `     `  `        ``Console.Write(``"Area is "` `+ findArea(a, b, c)); ` `    ``} ` `} ` ` `  `// This code is contributed Nitin Mittal. `

## PHP

 ` `

Output :

`Area is 6`

Finding area using coordinates:

If we are given coordinates of three corners, we can apply below Shoelace formula for area.

```Area

= | 1/2 [ (x1y2 + x2y3 + ... + xn-1yn + xny1) -
(x2y1 + x3y2 + ... + xnyn-1 + x1yn) ] |

```

## C++

 `// C++ program to evaluate area of a polygon using ` `// shoelace formula ` `#include ` `using` `namespace` `std; ` `  `  `// (X[i], Y[i]) are coordinates of i'th point. ` `double` `polygonArea(``double` `X[], ``double` `Y[], ``int` `n) ` `{ ` `    ``// Initialize area ` `    ``double` `area = 0.0; ` `  `  `    ``// Calculate value of shoelace formula ` `    ``int` `j = n - 1; ` `    ``for` `(``int` `i = 0; i < n; i++) ` `    ``{ ` `        ``area += (X[j] + X[i]) * (Y[j] - Y[i]); ` `        ``j = i;  ``// j is previous vertex to i ` `    ``} ` `  `  `    ``// Return absolute value ` `    ``return` `abs``(area / 2.0); ` `} ` `  `  `// Driver program to test above function ` `int` `main() ` `{ ` `    ``double` `X[] = {0, 2, 4}; ` `    ``double` `Y[] = {1, 3, 7}; ` `  `  `    ``int` `n = ``sizeof``(X)/``sizeof``(X[0]); ` `  `  `    ``cout << polygonArea(X, Y, n); ` `} `

## Java

 `// Java program to evaluate area of  ` `// a polygon usingshoelace formula ` `import` `java.io.*; ` `import` `java.math.*; ` ` `  `class` `GFG { ` ` `  `    ``// (X[i], Y[i]) are coordinates of i'th point. ` `    ``static` `double` `polygonArea(``double` `X[], ``double` `Y[], ``int` `n) ` `    ``{ ` `        ``// Initialize area ` `        ``double` `area = ``0.0``; ` `     `  `        ``// Calculate value of shoelace formula ` `        ``int` `j = n - ``1``; ` `        ``for` `(``int` `i = ``0``; i < n; i++) ` `        ``{ ` `            ``area += (X[j] + X[i]) * (Y[j] - Y[i]); ` `             `  `            ``// j is previous vertex to i ` `            ``j = i;  ` `        ``} ` `     `  `        ``// Return absolute value ` `        ``return` `Math.abs(area / ``2.0``); ` `    ``} ` `     `  `    ``// Driver program  ` `    ``public` `static` `void` `main (String[] args)  ` `    ``{ ` `        ``double` `X[] = {``0``, ``2``, ``4``}; ` `        ``double` `Y[] = {``1``, ``3``, ``7``}; ` ` `  `        ``int` `n = X.length; ` `        ``System.out.println(polygonArea(X, Y, n)); ` `    ``} ` `} ` ` `  ` `  `// This code is contributed ` `// by Nikita Tiwari. `

## Python3

 `# Python 3 program to evaluate ` `# area of a polygon using ` `# shoelace formula ` ` `  `# (X[i], Y[i]) are coordinates of i'th point. ` `def` `polygonArea(X,Y, n) : ` ` `  `    ``# Initialize area ` `    ``area ``=` `0.0` `   `  `    ``# Calculate value of shoelace formula ` `    ``j ``=` `n ``-` `1` `    ``for` `i ``in` `range``( ``0``, n) : ` `        ``area ``=` `area ``+` `(X[j] ``+` `X[i]) ``*` `(Y[j] ``-` `Y[i]) ` `        ``j ``=` `i  ``# j is previous vertex to i ` `     `  `     `  `    ``# Return absolute value ` `    ``return` `abs``(area ``/``/` `2.0``) ` ` `  `   `  `# Driver program to test above function ` `X ``=` `[``0``, ``2``, ``4``] ` `Y ``=` `[``1``, ``3``, ``7``] ` ` `  `n ``=` `len``(X) ` `print``(polygonArea(X, Y, n)) ` ` `  ` `  `# This code is contributed ` `# by Nikita Tiwari. `

## C#

 `// C# program to evaluate area of  ` `// a polygon usingshoelace formula ` `using` `System; ` ` `  `class` `GFG { ` ` `  `    ``// (X[i], Y[i]) are coordinates  ` `    ``// of i'th point. ` `    ``static` `double` `polygonArea(``double` `[]X, ` `                       ``double` `[]Y, ``int` `n) ` `    ``{ ` `        ``// Initialize area ` `        ``double` `area = 0.0; ` `     `  `        ``// Calculate value of shoelace ` `        ``// formula ` `        ``int` `j = n - 1; ` `        ``for` `(``int` `i = 0; i < n; i++) ` `        ``{ ` `            ``area += (X[j] + X[i]) *  ` `                        ``(Y[j] - Y[i]); ` `             `  `            ``// j is previous vertex to i ` `            ``j = i;  ` `        ``} ` `     `  `        ``// Return absolute value ` `        ``return` `Math.Abs(area / 2.0); ` `    ``} ` `     `  `    ``// Driver program  ` `    ``public` `static` `void` `Main ()  ` `    ``{ ` `        ``double` `[]X = {0, 2, 4}; ` `        ``double` `[]Y = {1, 3, 7}; ` ` `  `        ``int` `n = X.Length; ` `        ``Console.WriteLine( ` `                 ``polygonArea(X, Y, n)); ` `    ``} ` `} ` ` `  `// This code is contributed by anuj_67. `

## PHP

 ` `

Output :

`2`