C ++ hypot () - C ++ стандартна библиотека

Функцията hypot () в C ++ връща квадратния корен от сумата на подадените квадратни аргументи.

hypot () прототип

двоен хипот (двоен х, двоен у); float hypot (float x, float y); дълъг двоен хипот (дълъг двоен х, дълъг двоен у); Популяризиран прах (Type1 x, Type2 y); двоен хипот (двоен х, двоен у, двоен х); // (от C ++ 17) float hypot (float x, float y, float z); // (от C ++ 17) long double hypot (long double x, long double y, long double z); // (от C ++ 17) Популяризиран pow (Тип1 x, Тип2 y, Тип2 y); // (от C ++ 17)

Тъй като C ++ 11, ако някакъв аргумент, предаден на hypot () е long double, връщаният тип Promoted е long double. В противен случай типът на връщане Promoted е double.

 h = √ (x2 + y2

по математика е еквивалентно на

 h = хипот (x, y);

в C ++ програмиране.

Ако са предадени три аргумента:

 h = √ (x2 + y2 + z2))

по математика е еквивалентно на

 h = хипот (x, y);

в C ++ програмиране.

Тази функция е дефинирана в заглавния файл.

hypot () Параметри

Hytpot () приема или 2, или 3 параметъра от интегрален или тип с плаваща запетая.

hypot () Върната стойност

Хипотът () връща:

  • хипотенузата на правоъгълен триъгълник, ако са преминали два аргумента, т.е. .√(x2+y2)
  • разстояние от произхода на до (X, Y, X), ако са минали три аргумента, т.е. .√(x2+y2+z2)

Пример 1: Как работи hypot () в 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; ) 

Когато стартирате програмата, изходът ще бъде:

 хипот (x, y) = 3.74433 хипот (x, yLD) = 6.30617 

Пример 2: hypot () с три аргумента

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

Забележка: Тази програма ще работи само в нови компилатори, които поддържат C ++ 17.

Интересни статии...