C ++ hypot () - C ++ standardbibliotek

Funksjonen hypot () i C ++ returnerer kvadratroten av summen av kvadratet av argumenter som er sendt.

hypot () prototype

dobbelt hypot (dobbelt x, dobbelt y); float hypot (float x, float y); lang dobbel hypot (lang dobbel x, lang dobbel y); Promoted pow (Type1 x, Type2 y); dobbelt hypot (dobbelt x, dobbelt y, dobbelt x); // (siden C ++ 17) float hypot (float x, float y, float z); // (siden C ++ 17) lang dobbel hypot (lang dobbel x, lang dobbel y, lang dobbel z); // (siden C ++ 17) Promoted pow (Type1 x, Type2 y, Type2 y); // (siden C ++ 17)

Siden C ++ 11, hvis noe argument overført til hypot () er long double, er returtypen Promoted long double. Hvis ikke, er returtypen Promoted double.

 h = √ (x2 + y2

i matematikk tilsvarer

 h = hypot (x, y);

i C ++ programmering.

Hvis tre argumenter blir gitt:

 h = √ (x2 + y2 + z2))

i matematikk tilsvarer

 h = hypot (x, y);

i C ++ programmering.

Denne funksjonen er definert i topptekstfilen.

hypot () Parametere

Hytpot () tar enten 2 eller 3 parametere av integrert eller flytende punkt-type.

hypot () Returverdi

Hypoten () returnerer:

  • hypotenusen i en rettvinklet trekant hvis to argumentene er passert, dvs .√(x2+y2)
  • avstand fra origo til til (x, y, x) hvis tre argumentene er passert, dvs. .√(x2+y2+z2)

Eksempel 1: Hvordan fungerer hypot () i 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; ) 

Når du kjører programmet, vil utdataene være:

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

Eksempel 2: hypot () med Three Arguments

 #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; )

Merk: Dette programmet kjører bare i nye kompilatorer som støtter C ++ 17.

Interessante artikler...