Dados dos números enteros a y b que representan la longitud de las dos bases, y los dos números enteros p1 y p2 que representan los lados no paralelos de un trapezoide, la tarea es encontrar la altura del trapezoide.
Un trapezoide es un cuadrilátero convexo con al menos un par de lados paralelos. Los lados paralelos se llaman bases del trapezoide y los otros dos lados que no son paralelos se llaman catetos. También puede haber un par de bases.
En la figura, CD || AB. Por lo tanto, forman las bases, y los otros dos lados, es decir, AD y BC , forman las piernas.
Ejemplos:
Entrada: a = 14, b = 13, p1 = 25, p2 = 10
Salida: 11,2Entrada: a = 8, b = 16, p1 = 25, p2 = 10
Salida: 7.92401
Aproximación: Para encontrar la altura del trapecio, construya las perpendiculares DE y CF en la base AB del trapecio como se muestra en la siguiente figura.
Ahora, el área del triángulo AED y el área del triángulo CFB se pueden calcular utilizando la fórmula de Heron con lados p1 , p2 y (b – a) . Además, su área es igual a 0,5 * (b – a) * h .
A partir de estas dos ecuaciones, calcula el valor de h , que es la altura del trapezoide.
Fórmula de Heron: Considere un triángulo con lados a, b y c , luego
Área del triángulo, A = (s (s – a)(s – b)(s – c)) 1/2 , donde s = (a + b +c)/2Además, A = 0.5 * base * altura
Después de reorganizar los términos, la altura del trapezoide = (A * 2) / Base
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program for the above approach #include <bits/stdc++.h> using namespace std; // Function to calculate height // of the trapezoid void findHeight(float p1, float p2, float b, float c) { float a = max(p1, p2) - min(p1, p2); // Apply Heron's formula float s = (a + b + c) / 2; // Calculate the area float area = sqrt(s * (s - a) * (s - b) * (s - c)); // Calculate height of trapezoid float height = (area * 2) / a; // Print the height cout << "Height is: " << height; } // Driver Code int main() { // Given a, b, p1 and p2 float p1 = 25, p2 = 10; float a = 14, b = 13; findHeight(p1, p2, a, b); return 0; }
Java
// Java program to implement // the above approach import java.util.*; class GFG { // Function to calculate height // of the trapezoid static void findHeight(float p1, float p2, float b, float c) { float a = Math.max(p1, p2) - Math.min(p1, p2); // Apply Heron's formula float s = (a + b + c) / 2; // Calculate the area float area = (int)Math.sqrt(s * (s - a) * (s - b) * (s - c)); // Calculate height of trapezoid float height = (area * 2) / a; // Print the height System.out.print("Height is: " + height); } // Driver Code public static void main(String args[]) { // Given a, b, p1 and p2 float p1 = 25, p2 = 10; float a = 14, b = 13; findHeight(p1, p2, a, b); } } // This code is contributed by splevel62.
Python3
# Python3 program to implement # the above approach import math # Function to calculate height # of the trapezoid def findHeight(p1, p2, b, c) : a = max(p1, p2) - min(p1, p2) # Apply Heron's formula s = (a + b + c) // 2 # Calculate the area area = math.sqrt(s * (s - a) * (s - b) * (s - c)) # Calculate height of trapezoid height = (area * 2) / a # Print the height print("Height is: ", height) # Driver Code # Given a, b, p1 and p2 p1 = 25 p2 = 10 a = 14 b = 13 findHeight(p1, p2, a, b) # this code is contributed by sanjoy_62.
C#
// C# program to implement // the above approach using System; public class GFG { // Function to calculate height // of the trapezoid static void findHeight(float p1, float p2, float b, float c) { float a = Math.Max(p1, p2) - Math.Min(p1, p2); // Apply Heron's formula float s = (a + b + c) / 2; // Calculate the area float area = (int)Math.Sqrt(s * (s - a) * (s - b) * (s - c)); // Calculate height of trapezoid float height = (area * 2) / a; // Print the height Console.Write("Height is: " + height); } // Driver Code public static void Main(String []args) { // Given a, b, p1 and p2 float p1 = 25, p2 = 10; float a = 14, b = 13; findHeight(p1, p2, a, b); } } // This code is contributed by shikhasingrajput
Javascript
<script> // JavaScript program to implement // the above approach // Function to calculate height // of the trapezoid function findHeight(p1, p2, b, c) { a = Math.max(p1, p2) - Math.min(p1, p2) // Apply Heron's formula let s = Math.floor((a + b + c)/2) // Calculate the area let area = Math.sqrt(s * (s - a) * (s - b) * (s - c)) // Calculate height of trapezoid height = (area * 2) / a // Print the height document.write("Height is: ", height) } // Driver Code // Given a, b, p1 and p2 let p1 = 25 let p2 = 10 let a = 14 let b = 13 findHeight(p1, p2, a, b) // This code is contributed by shinjanpatra </script>
Height is: 11.2
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por saragupta1924 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA