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

C++ প্রোগ্রাম: ডিটারমিন্যান্ট ব্যবহার করে ত্রিভুজের ক্ষেত্রফল বের করা

২D কোঅর্ডিনেট স্পেসে তিনটি পয়েন্ট দিয়ে ত্রিভুজের ক্ষেত্রফল বের করতে ম্যাট্রিক্স ডিটারমিন্যান্ট ব্যবহার করা যায়। প্রতিটি পয়েন্টের (x, y) কোঅর্ডিনেট এবং ১ দিয়ে ৩x৩ ম্যাট্রিক্স বানানো হয়। এর ডিটারমিন্যান্টের অর্ধেক হলো ক্ষেত্রফল (অবсолют মান নেওয়া হয়)।

সূত্র

$$Area = \frac{1}{2} \left| \begin{vmatrix} x_1 & y_1 & 1 \\ x_2 & y_2 & 1 \\ x_3 & y_3 & 1 \end{vmatrix} \right|$$

উদাহরণ কোড

#include <iostream>
#include <cmath>
using namespace std;

double det(double M[3][3]) {
    double t1 = (M[1][1] * M[2][2]) - (M[1][2] * M[2][1]);
    double t2 = (M[1][0] * M[2][2]) - (M[1][2] * M[2][0]);
    double t3 = (M[1][0] * M[2][1]) - (M[1][1] * M[2][0]);
    return (M[0][0] * t1) + (-M[0][1] * t2) + (M[0][2] * t3);
}

int main() {
    double M[3][3];
    cout << "Enter Point p1 (x, y): ";
    cin >> M[0][0] >> M[0][1];
    M[0][2] = 1;
    cout << "Enter Point p2 (x, y): ";
    cin >> M[1][0] >> M[1][1];
    M[1][2] = 1;
    cout << "Enter Point p3 (x, y): ";
    cin >> M[2][0] >> M[2][1];
    M[2][2] = 1;

    double determinant = det(M);
    cout << "The area is: " << fabs(determinant) * 0.5;
    return 0;
}

আউটপুট

Enter Point p1 (x, y): 3 4
Enter Point p2 (x, y): 6 4
Enter Point p3 (x, y): 3 9
The area is: 7.5

ব্যাখ্যা: পয়েন্ট (3,4), (6,4), (3,9) দিয়ে ত্রিভুজের ক্ষেত্রফল ৭.৫ বর্গ একক।

  1. C++-এ সমবাহু ত্রিভুজের সার্কামফারেন্স সার্কেলের এলাকা বের করার প্রোগ্রাম

  2. C++-এ সমবাহু ত্রিভুজের এলাকা এবং পেরিমিটার বের করার প্রোগ্রাম

  3. C++-এ হেক্সাগনে ইনস্ক্রাইবড সবচেয়ে বড় ট্রায়্যাঙ্গেলের এলিয়া

  4. C++ ব্যবহার করে এলিপসের এরিয়া বের করা