Funkce hypot () v C ++ vrací druhou odmocninu součtu druhé mocniny předaných argumentů.
hypot () prototyp
dvojitá hypotéza (dvojitá x, dvojitá y); float hypot (float x, float y); dlouhá dvojitá hypotéza (dlouhá dvojitá x, dlouhá dvojitá y); Propagovaný prášek (Type1 x, Type2 y); dvojitá hypotéza (dvojitá x, dvojitá y, dvojitá 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) Propagovaný pow (Type1 x, Type2 y, Type2 y); // (od C ++ 17)
Vzhledem k tomu, že v C ++ 11 je jakýkoli argument předaný hypot () long double
, je návratový typ povýšen long double
. Pokud ne, je návratový typ Propagovaný double
.
h = √ (x2 + y2
v matematice odpovídá
h = hypot (x, y);
v programování v C ++.
Pokud jsou předány tři argumenty:
h = √ (x2 + y2 + z2))
v matematice odpovídá
h = hypot (x, y);
v programování v C ++.
Tato funkce je definována v hlavičkovém souboru.
hypot () Parametry
Hytpot () přebírá 2 nebo 3 parametry typu s integrovanou nebo s plovoucí desetinnou čárkou.
hypot () návratová hodnota
Hypot () vrací:
- přepona pravoúhlého trojúhelníku, pokud jsou předány dva argumenty, tj .
√(x2+y2)
- vzdálenost od počátku do (x, y, x), pokud jsou předány tři argumenty, tj .
√(x2+y2+z2)
Příklad 1: Jak funguje hypot () v 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; )
Když spustíte program, výstup bude:
hypot (x, y) = 3,74433 hypot (x, yLD) = 6,30617
Příklad 2: hypot () se třemi argumenty
#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; )
Poznámka: Tento program bude fungovat pouze v nových kompilátorech, které podporují C ++ 17.