Функция hypot () в C ++ возвращает квадратный корень из суммы квадратов переданных аргументов.
hypot () прототип
двойная гипотеза (двойной x, двойной y); гипотеза с плавающей запятой (float x, float y); длинная двойная гипотеза (длинный двойной x, длинный двойной y); Повышенная сила (Type1 x, Type2 y); двойная гипотеза (двойной x, двойной y, двойной x); // (начиная с 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 (Type1 x, Type2 y, Type2 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)
- расстояние от начала координат до к (х, у, х) , если передается три аргумента, то есть .
√(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.