কম্পিউটার টিউটোরিয়াল

C++-এ hypot(), hypotf(), hypotl() ফাংশন

এই আর্টিকেলে আমরা C++-এ hypot(), hypotf(), hypotl() ফাংশনগুলির কাজকর্ম, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।

hypot() ফাংশন

এই ফাংশনটি একটি সমকোণী ত্রিভুজের হাইপোটেনাস (কর্ণ) বের করতে ব্যবহৃত হয়। এটি দুটি ভেরিয়েবলের বর্গের যোগফলের বর্গমূল রিটার্ন করে। এটি <cmath> হেডার ফাইলের অংশ।

হাইপোটেনাস কী?

সমকোণী ত্রিভুজের সবচেয়ে বড় পাশকে হাইপোটেনাস বলা হয়। নিচের চিত্রে AC হাইপোটেনাস।

C++-এ hypot(), hypotf(), hypotl() ফাংশন

হাইপোটেনাস বের করার সূত্র:

$$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) সরাসরি ক্যালকুলেট করার চেয়ে বেশি সঠিক এবং ওভারফ্লো/অন্ডারফ্লো রোধ করে।

  1. C++-এ copysign() ফাংশন

  2. C++-এ strtol() ফাংশন

  3. C++-এ log() ফাংশন

  4. C++-এ swap() ফাংশন