Calculate area of triangle
The problem at hand involves calculating the area of a triangle given the lengths of its three sides. This is a fundamental geometric calculation that is often required in various applications, ranging from architecture and engineering to computer graphics and physics. The area of a triangle can be determined using the well-known formula involving Heron's formula, which is based on the semiperimeter of the triangle.
Problem Statement
Given the lengths of three sides of a triangle (a, b, and c), we need to calculate and output the area of the triangle. The sides of the triangle are provided as inputs, and we are required to use Heron's formula to find the area of the triangle.
Example
Let's consider an example where we have a triangle with sides a = 24.2, b = 13.1, and c = 24. This triangle's sides correspond to the following configuration:
24.2 .
③ . . ②
. . 13.1
. .
-------------------
①
24
Idea to Solve
To solve this problem, we can use the following steps:
- Calculate the semiperimeter (s) of the triangle using the formula: s = (a + b + c) / 2.
- Using Heron's formula, calculate the area (A) of the triangle: A = sqrt(s * (s - a) * (s - b) * (s - c)), where
sqrt
represents the square root function.
Pseudocode
function triangle_area(a, b, c):
s = (a + b + c) / 2
area = sqrt(s * (s - a) * (s - b) * (s - c))
return area
for each test case:
a, b, c = triangle sides
result = triangle_area(a, b, c)
print("Triangle Sides [ a :", a, ", b :", b, "c :", c, "]")
print("Triangle Area :", result)
Algorithm Explanation
- For each test case, calculate the semiperimeter (s) using the formula (a + b + c) / 2.
- Use Heron's formula to calculate the area (A) using the semiperimeter and side lengths.
- Print the side lengths and the calculated area.
Code Solution
// C Program
// Calculate area of triangle
#include <stdio.h>
#include <math.h>
//Calculate area of triangle by given three side
void triangle_area(double a,double b,double c)
{
double side = (a + b + c)/2;
//Calculate area of triangle
double area = sqrt(side *((side-a)*(side-b)*(side-c)));
//Display the result of triangle area
printf(" Triangle Sides [ a : %lf, b : %lf c : %lf ] ",a,b,c );
printf("\n Triangle Area : %lf\n\n", area);
}
int main()
{
/*
24.2 .
③ . . ②
. . 13.1
. .
-------------------
①
24
*/
//Test Cases
triangle_area(24,13.1,24.2);
triangle_area(22.2,20.2,7.7);
triangle_area(12.8,13.7,15.9);
return 0;
}
Output
Triangle Sides [ a : 24.000000, b : 13.100000 c : 24.200000 ]
Triangle Area : 151.895350
Triangle Sides [ a : 22.200000, b : 20.200000 c : 7.700000 ]
Triangle Area : 77.508067
Triangle Sides [ a : 12.800000, b : 13.700000 c : 15.900000 ]
Triangle Area : 84.134892
/*
Java program
Calculate area of triangle
*/
public class TriangleArea
{
//Calculate area of triangle by given three side
public void triangle_area(double a, double b, double c)
{
double side = (a + b + c) / 2;
//Calculate area of triangle
double area = Math.sqrt(side * ((side - a) * (side - b) * (side - c)));
//Display the result of triangle area
System.out.print(" Triangle Sides [ a : " + a + ", b : " + b + " c : " + c + " ] ");
System.out.print("\n Triangle Area : " + area + "\n\n");
}
public static void main(String[] args)
{
TriangleArea obj = new TriangleArea();
/*
24.2 .
③ . . ②
. . 13.1
. .
-------------------
①
24
*/
//Test Cases
obj.triangle_area(24, 13.1, 24.2);
obj.triangle_area(22.2, 20.2, 7.7);
obj.triangle_area(12.8, 13.7, 15.9);
}
}
Output
Triangle Sides [ a : 24.0, b : 13.1 c : 24.2 ]
Triangle Area : 151.89535030325973
Triangle Sides [ a : 22.2, b : 20.2 c : 7.7 ]
Triangle Area : 77.50806663664115
Triangle Sides [ a : 12.8, b : 13.7 c : 15.9 ]
Triangle Area : 84.13489169185397
/*
C++ program
Calculate area of triangle
*/
#include<iostream>
#include <math.h>
using namespace std;
class TriangleArea
{
public:
//Calculate area of triangle by given three side
void triangle_area(double a, double b, double c)
{
double side = (a + b + c) / 2;
//Calculate area of triangle
double area = sqrt(side *((side - a) *(side - b) *(side - c)));
cout << " Triangle Sides [ a : " << a << ", b : " << b << " c : " << c << " ] ";
cout << "\n Triangle Area : " << area << "\n\n";
}
};
int main()
{
TriangleArea obj = TriangleArea();
/*
24.2 .
③ . . ②
. . 13.1
. .
-------------------
①
24
*/
//Test Cases
obj.triangle_area(24, 13.1, 24.2);
obj.triangle_area(22.2, 20.2, 7.7);
obj.triangle_area(12.8, 13.7, 15.9);
return 0;
}
Output
Triangle Sides [ a : 24, b : 13.1 c : 24.2 ]
Triangle Area : 151.895
Triangle Sides [ a : 22.2, b : 20.2 c : 7.7 ]
Triangle Area : 77.5081
Triangle Sides [ a : 12.8, b : 13.7 c : 15.9 ]
Triangle Area : 84.1349
/*
C# program
Calculate area of triangle
*/
using System;
public class TriangleArea
{
//Calculate area of triangle by given three side
public void triangle_area(double a, double b, double c)
{
double side = (a + b + c) / 2;
//Calculate area of triangle
double area = Math.Sqrt(side * ((side - a) * (side - b) * (side - c)));
Console.Write(" Triangle Sides [ a : " + a + ", b : " + b + " c : " + c + " ] ");
Console.Write("\n Triangle Area : " + area + "\n\n");
}
public static void Main(String[] args)
{
TriangleArea obj = new TriangleArea();
/*
24.2 .
③ . . ②
. . 13.1
. .
-------------------
①
24
*/
//Test Cases
obj.triangle_area(24, 13.1, 24.2);
obj.triangle_area(22.2, 20.2, 7.7);
obj.triangle_area(12.8, 13.7, 15.9);
}
}
Output
Triangle Sides [ a : 24, b : 13.1 c : 24.2 ]
Triangle Area : 151.89535030326
Triangle Sides [ a : 22.2, b : 20.2 c : 7.7 ]
Triangle Area : 77.5080666366411
Triangle Sides [ a : 12.8, b : 13.7 c : 15.9 ]
Triangle Area : 84.134891691854
<?php
/*
Php program
Calculate area of triangle
*/
class TriangleArea
{
//Calculate area of triangle by given three side
public function triangle_area($a, $b, $c)
{
$side = ($a + $b + $c) / 2;
//Calculate area of triangle
$area = sqrt($side *(($side - $a) *($side - $b) *($side - $c)));
//Display the result of triangle area
echo(" Triangle Sides [ a : ". $a .", b : ". $b ." c : ". $c ." ] ");
echo("\n Triangle Area : ". $area ."\n\n");
}
}
function main()
{
$obj = new TriangleArea();
/*
24.2 .
③ . . ②
. . 13.1
. .
-------------------
①
24
*/
//Test Cases
$obj->triangle_area(24, 13.1, 24.2);
$obj->triangle_area(22.2, 20.2, 7.7);
$obj->triangle_area(12.8, 13.7, 15.9);
}
main();
Output
Triangle Sides [ a : 24, b : 13.1 c : 24.2 ]
Triangle Area : 151.89535030326
Triangle Sides [ a : 22.2, b : 20.2 c : 7.7 ]
Triangle Area : 77.508066636641
Triangle Sides [ a : 12.8, b : 13.7 c : 15.9 ]
Triangle Area : 84.134891691854
/*
Node Js program
Calculate area of triangle
*/
class TriangleArea
{
//Calculate area of triangle by given three side
triangle_area(a, b, c)
{
var side = (a + b + c) / 2;
//Calculate area of triangle
var area = Math.sqrt(side *((side - a) *(side - b) *(side - c)));
//Display the result of triangle area
process.stdout.write(" Triangle Sides [ a : " + a + ", b : " + b + " c : " + c + " ] ");
process.stdout.write("\n Triangle Area : " + area + "\n\n");
}
}
function main(args)
{
var obj = new TriangleArea();
/*
24.2 .
③ . . ②
. . 13.1
. .
-------------------
①
24
*/
//Test Cases
obj.triangle_area(24, 13.1, 24.2);
obj.triangle_area(22.2, 20.2, 7.7);
obj.triangle_area(12.8, 13.7, 15.9);
}
main();
Output
Triangle Sides [ a : 24, b : 13.1 c : 24.2 ]
Triangle Area : 151.89535030325973
Triangle Sides [ a : 22.2, b : 20.2 c : 7.7 ]
Triangle Area : 77.50806663664115
Triangle Sides [ a : 12.8, b : 13.7 c : 15.9 ]
Triangle Area : 84.13489169185397
# Python 3 program
# Calculate area of triangle
import math
class TriangleArea :
# Calculate area of triangle by given three side
def triangle_area(self, a, b, c) :
side = (a + b + c) / 2
# Calculate area of triangle
area = math.sqrt(side * ((side - a) * (side - b) * (side - c)))
# Display the result of triangle area
print(" Triangle Sides [ a : ", a ,", b : ", b ," c : ", c ," ] ", end = "")
print("\n Triangle Area : ", area ,"\n\n", end = "")
def main() :
obj = TriangleArea()
# Test Cases
#
# 24.2 .
# ③ . . ②
# . . 13.1
# . .
# -------------------
# ①
# 24
#
obj.triangle_area(24, 13.1, 24.2)
obj.triangle_area(22.2, 20.2, 7.7)
obj.triangle_area(12.8, 13.7, 15.9)
if __name__ == "__main__": main()
Output
Triangle Sides [ a : 24 , b : 13.1 c : 24.2 ]
Triangle Area : 151.89535030325973
Triangle Sides [ a : 22.2 , b : 20.2 c : 7.7 ]
Triangle Area : 77.50806663664115
Triangle Sides [ a : 12.8 , b : 13.7 c : 15.9 ]
Triangle Area : 84.13489169185397
# Ruby program
# Calculate area of triangle
class TriangleArea
# Calculate area of triangle by given three side
def triangle_area(a, b, c)
side = (a + b + c) / 2
# Calculate area of triangle
area = Math.sqrt(side * ((side - a) * (side - b) * (side - c)))
# Display the result of triangle area
print(" Triangle Sides [ a : ", a ,", b : ", b ," c : ", c ," ] ")
print("\n Triangle Area : ", area ,"\n\n")
end
end
def main()
obj = TriangleArea.new()
# Test Cases
#
# 24.2 .
# ③ . . ②
# . . 13.1
# . .
# -------------------
# ①
# 24
#
obj.triangle_area(24, 13.1, 24.2)
obj.triangle_area(22.2, 20.2, 7.7)
obj.triangle_area(12.8, 13.7, 15.9)
end
main()
Output
Triangle Sides [ a : 24, b : 13.1 c : 24.2 ]
Triangle Area : 151.89535030325973
Triangle Sides [ a : 22.2, b : 20.2 c : 7.7 ]
Triangle Area : 77.50806663664115
Triangle Sides [ a : 12.8, b : 13.7 c : 15.9 ]
Triangle Area : 84.13489169185397
/*
Scala program
Calculate area of triangle
*/
class TriangleArea
{
//Calculate area of triangle by given three side
def triangle_area(a: Double, b: Double, c: Double): Unit = {
var side: Double = (a + b + c) / 2;
//Calculate area of triangle
var area: Double = Math.sqrt(side * ((side - a) * (side - b) * (side - c)));
//Display the result of triangle area
print(" Triangle Sides [ a : " + a + ", b : " + b + " c : " + c + " ] ");
print("\n Triangle Area : " + area + "\n\n");
}
}
object Main
{
def main(args: Array[String]): Unit = {
var obj: TriangleArea = new TriangleArea();
/*
24.2 .
③ . . ②
. . 13.1
. .
-------------------
①
24
*/
//Test Cases
obj.triangle_area(24, 13.1, 24.2);
obj.triangle_area(22.2, 20.2, 7.7);
obj.triangle_area(12.8, 13.7, 15.9);
}
}
Output
Triangle Sides [ a : 24.0, b : 13.1 c : 24.2 ]
Triangle Area : 151.89535030325973
Triangle Sides [ a : 22.2, b : 20.2 c : 7.7 ]
Triangle Area : 77.50806663664115
Triangle Sides [ a : 12.8, b : 13.7 c : 15.9 ]
Triangle Area : 84.13489169185397
/*
Swift program
Calculate area of triangle
*/
import Foundation
class TriangleArea
{
//Calculate area of triangle by given three side
func triangle_area(_ a: Double, _ b: Double, _ c: Double)
{
let side: Double = (a + b + c) / 2;
//Calculate area of triangle
let area: Double = sqrt(side * ((side - a) * (side - b) * (side - c)));
//Display the result of triangle area
print(" Triangle Sides [ a : ", a ,", b : ", b ," c : ", c ," ] ", terminator: "");
print("\n Triangle Area : ", area ,"\n\n", terminator: "");
}
}
func main()
{
let obj: TriangleArea = TriangleArea();
/*
24.2 .
③ . . ②
. . 13.1
. .
-------------------
①
24
*/
//Test Cases
obj.triangle_area(24, 13.1, 24.2);
obj.triangle_area(22.2, 20.2, 7.7);
obj.triangle_area(12.8, 13.7, 15.9);
}
main();
Output
Triangle Sides [ a : 24.0 , b : 13.1 c : 24.2 ]
Triangle Area : 151.89535030326
Triangle Sides [ a : 22.2 , b : 20.2 c : 7.7 ]
Triangle Area : 77.5080666366411
Triangle Sides [ a : 12.8 , b : 13.7 c : 15.9 ]
Triangle Area : 84.134891691854
Output Explanation
The provided code runs three test cases and calculates the areas of the triangles with different side lengths. The output includes the side lengths of the triangles along with their corresponding calculated areas.
Time Complexity
The time complexity of this code is O(1) for each test case. The calculations involve basic arithmetic operations and a single square root computation, all of which take constant time. Therefore, the overall time complexity remains constant for each test case.
Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.
New Comment