কম্পিউটার

C++ প্রোগ্রামে একটি ম্যাট্রিক্সের নির্ধারক


এই টিউটোরিয়ালে, আমরা শিখব কিভাবে একটি ম্যাট্রিক্সের নির্ধারক খুঁজে বের করতে হয়।

একটি ম্যাট্রিক্সের নির্ধারক খুঁজে বের করার ধাপগুলি দেখা যাক৷

  • ম্যাট্রিক্স শুরু করুন।

  • ম্যাট্রিক্সের নির্ধারক খুঁজে বের করার জন্য একটি ফাংশন লিখুন।

    • ম্যাট্রিক্সের আকার 1 বা 2 হলে, ম্যাট্রিক্সের নির্ণায়কটি নির্ণয় করুন। এটা একটা সোজা কথা।

    • নির্ধারক, সাবম্যাট্রিক্স, চিহ্নের জন্য ভেরিয়েবল শুরু করুন।

    • 1 থেকে ম্যাট্রিক্স N এর আকারে পুনরাবৃত্তি করুন।

    • বর্তমান ম্যাট্রিক্স উপাদানের জন্য সাবম্যাট্রিক্স খুঁজুন।

      • সমস্ত উপাদান যা বর্তমান উপাদান সারি এবং কলামে নেই

    • বর্তমান উপাদানের গুণফল এবং নির্ধারকের সাথে এর সহফ্যাক্টর যোগ করুন।

    • চিহ্ন পরিবর্তন করুন।

  • ম্যাট্রিক্সের নির্ধারক প্রিন্ট করুন।

উদাহরণ

আসুন কোডটি দেখি।

#include <bits/stdc++.h>
using namespace std;
#define N 3
void subMatrix(int mat[N][N], int temp[N][N], int p, int q, int n) {
   int i = 0, j = 0;
   // filling the sub matrix
   for (int row = 0; row < n; row++) {
      for (int col = 0; col < n; col++) {
         // skipping if the current row or column is not equal to the current
         // element row and column
         if (row != p && col != q) {
            temp[i][j++] = mat[row][col];
            if (j == n - 1) {
               j = 0;
               i++;
            }
         }
      }
   }
}
int determinantOfMatrix(int matrix[N][N], int n) {
   int determinant = 0;
   if (n == 1) {
      return matrix[0][0];
   }
   if (n == 2) {
      return (matrix[0][0] * matrix[1][1]) - (matrix[0][1] * matrix[1][0]);
   }
   int temp[N][N], sign = 1;
   for (int i = 0; i < n; i++) {
      subMatrix(matrix, temp, 0, i, n);
      determinant += sign * matrix[0][i] * determinantOfMatrix(temp, n - 1);
      sign = -sign;
   }
   return determinant;
}
int main() {
   int mat[N][N] = {{2, 1, 3}, {6, 5, 7}, {4, 9, 8}};
   cout << "Determinant: " << determinantOfMatrix(mat, N) << endl;
   return 0;
}

আউটপুট

আপনি যদি উপরের প্রোগ্রামটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

Determinant: 36

উপসংহার

টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।


  1. C++ এ স্পাইরাল ম্যাট্রিক্স III

  2. C++ এ ইনভোলুটরি ম্যাট্রিক্স চেক করার প্রোগ্রাম

  3. C++-এ idempotent ম্যাট্রিক্স চেক করার প্রোগ্রাম

  4. অ্যাডজাসেন্সি ম্যাট্রিক্স বাস্তবায়নের জন্য C++ প্রোগ্রাম