Given four sides of quadrilateral a, b, c, d, find the maximum area of the quadrilateral possible from the given sides .

Examples:

Input : 1 2 1 2
Output : 2.00
It is optimal to construct a rectangle for maximum area .


## Recommended: Please try your approach on {IDE} first, before moving on to the solution. According to Bretschneider’s formula, the area of a general quadilateral is given by Here a, b, c, d are the sides of a quadilateral, s is the semiperimeter of a quadilateral and angles are two opposite angles.
So, this formula is maximized only when opposite angles sum to pi(180) then we can use a simplified form of Bretschneider’s formula to get the (maximum) area K. This formula is called as Brahmagupta’s formula .

Below is the implementation of given approach

## C++

 // CPP program to find maximum are of a   // quadrilateral  #include  using namespace std;     double maxArea(double a, double b,                  double c, double d)  {      // Calculating the semi-perimeter       // of the given quadilateral      double semiperimeter = (a + b + c + d) / 2;         // Applying Brahmagupta's formula to      // get maximum area of quadrilateral      return sqrt((semiperimeter - a) *                  (semiperimeter - b) *                   (semiperimeter - c) *                   (semiperimeter - d));  }     // Driver code  int main()  {      double a = 1, b = 2, c= 1, d = 2;      printf("%.2f\n",maxArea(a, b, c, d));      return 0;  }

## Java

 // Java program to find maximum are of a   // quadrilateral  import java.io.*;     class GFG   {      static double maxArea(double a, double b,                             double c, double d)      {          // Calculating the semi-perimeter           // of the given quadilateral          double semiperimeter = (a + b + c + d) / 2;                 // Applying Brahmagupta's formula to          // get maximum area of quadrilateral          return Math.sqrt((semiperimeter - a) *                           (semiperimeter - b) *                            (semiperimeter - c) *                            (semiperimeter - d));      }             // Driver code      public static void main (String[] args)       {          double a = 1, b = 2, c= 1, d = 2;          System.out.println(maxArea(a, b, c, d));      }  }     // This code is contributed by sunnysingh

## Python3

 # Python3 program to find maximum   # area of a quadrilateral  import math     def maxArea (a , b , c , d ):         # Calculating the semi-perimeter      # of the given quadilateral      semiperimeter = (a + b + c + d) / 2            # Applying Brahmagupta's formula to      # get maximum area of quadrilateral      return math.sqrt((semiperimeter - a) *                     (semiperimeter - b) *                     (semiperimeter - c) *                      (semiperimeter - d))     # Driver code  a = 1 b = 2 c = 1 d = 2 print("%.2f"%maxArea(a, b, c, d))     # This code is contributed by "Sharad_Bhardwaj".

## C#

 // C# program to find maximum are of a   // quadrilateral  using System;     class GFG {             static double maxArea(double a, double b,                            double c, double d)      {                     // Calculating the semi-perimeter           // of the given quadilateral          double semiperimeter = (a + b + c + d) / 2;                 // Applying Brahmagupta's formula to          // get maximum area of quadrilateral          return Math.Sqrt((semiperimeter - a) *                           (semiperimeter - b) *                            (semiperimeter - c) *                            (semiperimeter - d));      }             // Driver code      public static void Main ()       {          double a = 1, b = 2, c= 1, d = 2;                     Console.WriteLine(maxArea(a, b, c, d));      }  }     // This code is contributed by vt_m.

## PHP

 

Output:

2.00


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.

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Improved By : vt_m