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.