C ++ hypot () - biblioteka standardowa C ++

Funkcja hypot () w C ++ zwraca pierwiastek kwadratowy z sumy kwadratów przekazanych argumentów.

hypot () prototyp

podwójne hypot (podwójne x, podwójne y); float hypot (float x, float y); długi podwójny hypot (długie podwójne x, długie podwójne y); Promowany pow (Type1 x, Type2 y); podwójne hypot (podwójne x, podwójne y, podwójne x); // (od C ++ 17) float hypot (float x, float y, float z); // (od C ++ 17) long double hypot (long double x, long double y, long double z); // (od C ++ 17) Promowane pow (Type1 x, Type2 y, Type2 y); // (od C ++ 17)

Od C ++ 11, jeśli jakikolwiek argument przekazany do funkcji hypot () jest long double, zwracany typ Promoted to long double. Jeśli nie, typ zwracany Promoted to double.

 h = √ (x2 + y2

w matematyce jest równoważne

 h = hypot (x, y);

w programowaniu w C ++.

Jeśli zostaną przekazane trzy argumenty:

 h = √ (x2 + y2 + z2))

w matematyce jest równoważne

 h = hypot (x, y);

w programowaniu w C ++.

Ta funkcja jest zdefiniowana w pliku nagłówkowym.

hypot () Parametry

Hytpot () przyjmuje 2 lub 3 parametry typu całkowego lub zmiennoprzecinkowego.

hypot () Wartość zwracana

Funkcja hypot () zwraca:

  • przeciwprostokątna trójkąta prostokątnego, jeśli podano dwa argumenty, tj .√(x2+y2)
  • odległość od początku do (x, y, x), jeśli przekazano trzy argumenty, tj .√(x2+y2+z2)

Przykład 1: Jak działa hypot () w C ++?

 #include #include using namespace std; int main() ( double x = 2.1, y = 3.1, result; result = hypot(x, y); cout << "hypot(x, y) = " << result << endl; long double yLD, resultLD; x = 3.52; yLD = 5.232342323; // hypot() returns long double in this case resultLD = hypot(x, yLD); cout << "hypot(x, yLD) = " << resultLD; return 0; ) 

Po uruchomieniu programu wynik będzie następujący:

 hypot (x, y) = 3,74433 hypot (x, yLD) = 6,30617 

Przykład 2: hypot () z trzema argumentami

 #include #include using namespace std; int main() ( double x = 2.1, y = 3.1, z = 23.3, result; result = hypot(x, y, z); cout << "hypot(x, y, z) = " << result << endl; return 0; )

Uwaga: ten program będzie działał tylko w nowych kompilatorach obsługujących C ++ 17.

Interesujące artykuły...