Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ प्रोग्राम में मैट्रिक्स का निर्धारक (Determinant)


इस ट्यूटोरियल में, हम सीखेंगे कि मैट्रिक्स का निर्धारक कैसे खोजा जाए।

मैट्रिक्स का निर्धारक खोजने के चरण देखते हैं।

  • मैट्रिक्स को इनिशियलाइज़ करें।

  • मैट्रिक्स का निर्धारक खोजने के लिए एक फंक्शन लिखें।

    • यदि मैट्रिक्स का आकार 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;    // सब मैट्रिक्स भर रहे हैं    for (int row = 0; row < n; row++) {       for (int col = 0; col < n; col++) {          // यदि वर्तमान पंक्ति या स्तंभ वर्तमान तत्व की पंक्ति और स्तंभ के बराबर नहीं है तो छोड़ रहे हैं          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++ में इन्वोल्यूटरी मैट्रिक्स जांचें C++ में इन्वोल्यूटरी मैट्रिक्स जांचें

    एक मैट्रिक्स M[r][c] दिया गया है, r पंक्तियों की संख्या दर्शाता है और c कॉलम की संख्या दर्शाता है जैसे कि r = c एक स्क्वायर मैट्रिक्स बनाता है। हमें जांचना है कि दिया गया स्क्वायर मैट्रिक्स इन्वोल्यूटरी मैट्रिक्स है या नहीं।इन्वोल्यूटरी मैट्रिक्सएक मैट्रिक्स को इन्वोल्यूटरी मैट्रिक्स कहा जाता है यदि

  1. C++ में इडेम्पोटेंट मैट्रिक्स जांचें C++ में इडेम्पोटेंट मैट्रिक्स जांचें

    एक मैट्रिक्स M[r][c] दिया गया है, r पंक्तियों की संख्या दर्शाता है और c कॉलम की संख्या दर्शाता है जैसे कि r = c एक स्क्वायर मैट्रिक्स बनाता है। हमें जांचना है कि दिया गया स्क्वायर मैट्रिक्स इडेम्पोटेंट मैट्रिक्स है या नहीं।इडेम्पोटेंट मैट्रिक्सएक मैट्रिक्स M को इडेम्पोटेंट मैट्रिक्स कहा जाता है यदि

  1. C++ प्रोग्राम: एडजेसेंसी मैट्रिक्स इम्प्लीमेंट करना C++ प्रोग्राम: एडजेसेंसी मैट्रिक्स इम्प्लीमेंट करना

    एक ग्राफ का एडजेसेंसी मैट्रिक्स V x V आकार का एक वर्ग मैट्रिक्स होता है। V ग्राफ G के वर्टेक्स की संख्या है। इस मैट्रिक्स में प्रत्येक तरफ V वर्टेक्स मार्क किए जाते हैं। यदि ग्राफ में i से j वर्टेक्स तक कुछ एज हैं, तो एडजेसेंसी मैट्रिक्स में i-वीं पंक्ति और j-वें कॉलम में 1 होगा (या वेटेड ग्राफ के