Given a and b are the lengths of the diagonals AC and BD of a quadrilateral ABCD with the area of quadrilateral as s. The task is to find the perimeter and area of the Varignon’s parallelogram PQRS.
Note: When we join the mid-points of the sides of any quadrilateral, the new quadrilateral formed inside will always be a parallelogram and this parallelogram is known as the Varignon’s parallelogram named upon the French Mathematician Pierre Varignon. Thus, PQRS will be a parallelogram since it is formed by joining the mid-points of quadrilateral ABCD as shown below:
Example:
Input: a = 7, b = 8, s = 10
Output: Perimeter = 15, Area = 5
Approach: The perimeter of Varignon’s parallelogram PQRS is equal to the sum of the length of the diagonals of quadrilateral ABCD.
Hence, Perimeter = a + b, where a and b are lengths of diagonals AC and BD.
Also, the area of the Varignon’s parallelogram is always half the area of quadrilateral ABCD.
Hence, Area = s / 2, where s is the area of quadrilateral ABCD.
Below is the implementation of the above approach:
// C ++program to find the perimeter and area #include <bits/stdc++.h> using namespace std;
// Function to find the perimeter float per( float a, float b) { return (a + b); }
// Function to find the area float area( float s) { return (s / 2); }
// Driver code int main()
{ float a = 7, b = 8, s = 10;
cout << per(a, b) << endl;
cout << area(s) << endl;
return 0;
} // The code is contributed by Nidhi goel |
// C program to find the perimeter and area #include <stdio.h> // Function to find the perimeter float per( float a, float b) { return (a + b); }
// Function to find the area float area( float s) { return (s / 2); }
// Driver code int main()
{ float a = 7, b = 8, s = 10;
printf ( "%f\n" , per(a, b));
printf ( "%f" , area(s));
return 0;
} |
// Java code to find the perimeter and area import java.lang.*;
class GFG {
// Function to find the perimeter
public static double per( double a, double b)
{
return (a + b);
}
// Function to find the area
public static double area( double s) { return (s / 2 ); }
// Driver code
public static void main(String[] args)
{
double a = 7 , b = 8 , s = 10 ;
System.out.println(per(a, b));
System.out.println(area(s));
}
} |
# Python3 code to find the perimeter and area # Function to find the perimeter def per(a, b):
return (a + b)
# Function to find the area def area(s):
return (s / 2 )
# Driver code a = 7
b = 8
s = 10
print (per(a, b))
print (area(s))
|
// C# code to find the perimeter and area using System;
class GFG {
// Function to find the perimeter
public static double per( double a, double b)
{
return (a + b);
}
// Function to find the area
public static double area( double s) { return (s / 2); }
// Driver code
public static void Main()
{
double a = 7.0, b = 8.0, s = 10.0;
Console.WriteLine(per(a, b));
Console.Write(area(s));
}
} |
<?php // PHP program to find perimeter and area // Function to find the perimeter function per( $a , $b )
{ return ( $a + $b );
} // Function to find the area function area( $s )
{ return ( $s / 2 );
} // Driver code $a =7;
$b =8;
$s =10;
echo (per( $a , $b ) "" );
echo "\n" ;
echo (area( $s ));
?> |
<script> // javascript code to find the perimeter and area // Function to find the perimeter function per(a , b)
{ return (a + b);
} // Function to find the area function area(s)
{ return (s / 2);
} // Driver code var a = 7, b = 8, s = 10;
document.write(per(a, b)); document.write(area(s)); // This code is contributed by shikhasingrajput </script> |
15 5
Time complexity: O(1)
Auxiliary Space: O(1)