এই আর্টিকেলে আমরা C++-এ hypot(), hypotf(), hypotl() ফাংশনগুলির কাজকর্ম, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
hypot() ফাংশন
এই ফাংশনটি একটি সমকোণী ত্রিভুজের হাইপোটেনাস (কর্ণ) বের করতে ব্যবহৃত হয়। এটি দুটি ভেরিয়েবলের বর্গের যোগফলের বর্গমূল রিটার্ন করে। এটি <cmath> হেডার ফাইলের অংশ।
হাইপোটেনাস কী?
সমকোণী ত্রিভুজের সবচেয়ে বড় পাশকে হাইপোটেনাস বলা হয়। নিচের চিত্রে AC হাইপোটেনাস।

হাইপোটেনাস বের করার সূত্র:
$$H = \sqrt{x^2 + y^2}$$
সিনট্যাক্স
double hypot(double x, double y); // C++11 থেকে three-argument overload ও আছে
প্যারামিটার
hypot() দুটি প্যারামিটার x এবং y গ্রহণ করে।
উদাহরণ ইনপুট-আউটপুট
Inputs: X=3, Y=4 -> Output: 5 Input: X=12, Y=5 -> Output: 13
রিটার্ন ভ্যালু
sqrt(x^2 + y^2) (দ্বিগুণ প্রিসিশনে)।
উদাহরণ
// c++ program to demonstrate the working of hypot() function
#include <cmath>
#include <iostream>
using namespace std;
int main() {
// initialize the two values
int a = 3, b = 4;
double c;
cout << "A = " << a << " B = " << b;
// define the hypot() function
c = hypot(a, b);
cout << "\nC = " << c << endl;
double x = 12, y = 5, z;
cout << "X = " << x << " Y = " << y;
z = hypot(x, y);
cout << "\nZ = " << z;
return 0;
}
আউটপুট
A = 3 B = 4 C = 5 X = 12 Y = 5 Z = 13
hypotf() ফাংশন
hypotf() ফাংশনটি hypot()-এর মতোই কাজ করে, কিন্তু এটি float টাইপের আর্গুমেন্ট নেয় এবং float রিটার্ন করে। এটি <cmath> হেডার ফাইলের অংশ।
সিনট্যাক্স
float hypotf(float x, float y);
উদাহরণ
// c++ program to demonstrate the working of hypotf() function
#include <iostream>
#include <cmath>
using namespace std;
int main() {
float x = 12.75f, y = 5.56f, z;
cout << "X = " << x << " Y = " << y;
z = hypotf(x, y);
cout << "\nZ = " << z;
return 0;
}
আউটপুট
X = 12.75 Y = 5.56 Z = 13.9096
hypotl() ফাংশন
hypotl() ফাংশনটি hypot()-এর মতোই কাজ করে, কিন্তু এটি long double টাইপের আর্গুমেন্ট নেয় এবং long double রিটার্ন করে। এটি <cmath> হেডার ফাইলের অংশ।
সিনট্যাক্স
long double hypotl(long double x, long double y);
উদাহরণ
// c++ program to demonstrate the working of hypotl() function
#include <iostream>
#include <cmath>
#include <iomanip> // for setprecision
using namespace std;
int main() {
long double x = 9.342553435L, y = 10.0987456456L, z;
cout << "X = " << x << " Y = " << y;
z = hypotl(x, y);
cout << fixed << setprecision(10) << "\nZ = " << z;
return 0;
}
আউটপুট
X = 9.3425534350 Y = 10.0987456456 Z = 13.757546...
নোট: এই ফাংশনগুলো sqrt(x*x + y*y) সরাসরি ক্যালকুলেট করার চেয়ে বেশি সঠিক এবং ওভারফ্লো/অন্ডারফ্লো রোধ করে।