Saturday, September 21, 2024
Google search engine
HomeData Modelling & AIProgram to find area of a triangle

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. 

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

Program to find area of a triangle

Below is the implementation of the above approach:

C++




// C++ Program to find the area 
// of triangle 
#include <bits/stdc++.h>
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 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


C




#include <stdio.h> 
#include <stdlib.h> 
  
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.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




<?php
function findArea($a, $b, $c)
{
    // Length of sides must be positive
    // and sum of any two sides 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)
    {
        echo "Not a valid triangle";
        exit(0);
    }
    $s = ($a + $b + $c) / 2;
    return sqrt($s * ($s - $a) * 
            ($s - $b) * ($s - $c));
}
  
// Driver Code
$a = 3.0;
$b = 4.0;
$c = 5.0;
  
echo "Area is ", findArea($a, $b, $c);
  
// This code is contributed anuJ_67.
?>


Javascript




<script>
  
// javascript Program to find the area 
// of triangle 
  
function findArea( a,  b,  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) 
    
        document.write( "Not a valid triangle"); 
        return;
    
    let s = (a + b + c) / 2; 
    return Math.sqrt(s * (s - a) * 
                    (s - b) * (s - c)); 
  
// Driver Code
  
    let a = 3.0; 
    let b = 4.0; 
    let c = 5.0; 
  
  document.write( "Area is " + findArea(a, b, c)); 
  
// This code is contributed by todaysgaurav 
  
</script>


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.  

Area = \frac{\sum_{i=1}^{n-1} (x_i y_{(i+1)}+x_ny_{1}) - \sum_{i=1}^{n-1}(x_{(i+1)}y_i-x_1y_n)}{2}

= \frac{(x_{1}y_{2} + x_{2}y_{3} + ... + x_{n-1}y_{n} + x_{n}y_{1}) -(x_{2}y_{1} + x_{3}y_{2} + ... + x_{n}y_{n-1} + x_{1}y_{n})}{2}

C++




// C++ program to evaluate area of a polygon using
// shoelace formula
#include <bits/stdc++.h>
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 = # 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




<?php
// PHP program to evaluate area of a 
// polygon using shoelace formula
  
// (X[i], Y[i]) are coordinates
// of i'th point.
function polygonArea( $X, $Y, $n)
{
      
    // Initialize area
    $area = 0.0;
  
    // Calculate value of 
    // shoelace formula
    $j = $n - 1;
    for ( $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 abs($area / 2.0);
}
  
    // Driver Code
    $X = array(0, 2, 4);
    $Y = array(1, 3, 7);
    $n = count($X);
    echo polygonArea($X, $Y, $n);
  
// This code is contributed by anuj_67.
?>


Javascript




<script>
  
// Javascript program to evaluate area of a polygon using
// shoelace formula
  
// (X[i], Y[i]) are coordinates of i'th point.
function polygonArea(X, Y, n)
{
  
    // Initialize area
    let area = 0.0;
  
    // Calculate value of shoelace formula
    let j = n - 1;
    for (let 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 Math.abs(area / 2.0);
}
  
// Driver program to test above function
    let X = [0, 2, 4];
    let Y = [1, 3, 7];
  
    let n = X.length;
  
    document.write(polygonArea(X, Y, n));
  
// This code is contributed by Mayank Tyagi
  
</script>


Output

2

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

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments