 GeeksforGeeks App
Open App Browser
Continue

# Program to find area of a triangle

### Given the sides of a triangle, the task is to find the area of this triangle.

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
Recommended Practice

Approach: The area of a triangle can simply be evaluated using following formula. where a, b and c are lengths of sides of triangle, and
s = (a+b+c)/2 Below is the implementation of the above approach:

## 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 triangle";         exit(0);     }     float s = (a + b + c) / 2;     return sqrt(s * (s - a) *                     (s - b) * (s - c)); }   // Driver Codeint 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

## 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 triangle");        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));    }}

## Python3

 # 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 triangle')         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 triangle is %f' %area)     # Initialize first side of triangle a = 3.0# Initialize second side of triangle b = 4.0# Initialize Third side of triangle c = 5.0findArea(a,b,c)   # This code is contributed by Shariq Raza

## C#

 // C# program to print// Floyd's triangleusing 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

 

## Javascript

 

Output

Area is 6

Time Complexity: O(log2n)
Auxiliary Space: O(1), since no extra space has been taken.

### Given the coordinates of the vertices of a triangle, the task is to find the area of this triangle.

Approach: If given coordinates of three corners, we can apply the Shoelace formula for the area below.  ## 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 functionint main(){    double X[] = {0, 2, 4};    double Y[] = {1, 3, 7};       int n = sizeof(X)/sizeof(X);       cout << polygonArea(X, Y, n);}

## Java

 // Java program to evaluate area of // a polygon usingshoelace formulaimport 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 functionX = [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 formulausing 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

 

## Javascript

 

Output

2

Time Complexity: O(n)
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up