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

C++ में मैट्रिक्स इनवर्टिबल है या नहीं जांचने का प्रोग्राम


मैट्रिक्स के डिटरमिनेंट का उपयोग यह पता लगाने के लिए किया जा सकता है कि यह इनवर्टिबल है या नहीं। यदि डिटरमिनेंट शून्येतर है तो मैट्रिक्स इनवर्टिबल होता है। इसलिए यदि डिटरमिनेंट शून्य आता है, तो मैट्रिक्स इनवर्टिबल नहीं है। उदाहरण के लिए:

दिया गया मैट्रिक्स है: 4 2 1 2 1 1 9 3 2 उपरोक्त मैट्रिक्स का डिटरमिनेंट है: 3 तो मैट्रिक्स इनवर्टिबल है।

एक प्रोग्राम जो जांचता है कि मैट्रिक्स इनवर्टिबल है या नहीं, निम्नलिखित है।

उदाहरण

#include<iostream> #include<math.h> using namespace std; int determinant( int matrix[10][10], int n) {    int det = 0;    int submatrix[10][10];    if (n == 2)    return ((matrix[0][0] * matrix[1][1]) - (matrix[1][0] * matrix[0][1]));    else {       for (int x = 0; x < n; x++) {          int subi = 0;          for (int i = 1; i < n; i++) {             int subj = 0;             for (int j = 0; j < n; j++) {                if (j == x)                continue;                submatrix[subi][subj] = matrix[i][j];                subj++;             }             subi++;          }          det = det + (pow(-1, x) * matrix[0][x] * determinant( submatrix, n - 1 ));       }    }    return det; } int main() {    int n, d, i, j;    int matrix[10][10];    cout << "मैट्रिक्स का आकार दर्ज करें:\n";    cin >> n;    cout << "मैट्रिक्स के एलिमेंट्स दर्ज करें:\n";    for (i = 0; i < n; i++)    for (j = 0; j < n; j++)    cin >> matrix[i][j];    cout<<"दर्ज किया गया मैट्रिक्स है:"<<endl;    for (i = 0; i < n; i++) {       for (j = 0; j < n; j++)       cout << matrix[i][j] <<" ";       cout<<endl;    }    d = determinant(matrix, n);    cout<<"मैट्रिक्स का डिटरमिनेंट है "<< d <<endl;    if( d == 0 )    cout<<"यह मैट्रिक्स इनवर्टिबल नहीं है क्योंकि डिटरमिनेंट शून्य है";    else    cout<<"यह मैट्रिक्स इनवर्टिबल है क्योंकि डिटरमिनेंट शून्य नहीं है";    return 0; }

आउटपुट

मैट्रिक्स का आकार दर्ज करें: 3 मैट्रिक्स के एलिमेंट्स दर्ज करें: 1 2 3 2 1 2 1 1 4 दर्ज किया गया मैट्रिक्स है: 1 2 3 2 1 2 1 1 4 मैट्रिक्स का डिटरमिनेंट है -7 यह मैट्रिक्स इनवर्टिबल है क्योंकि डिटरमिनेंट शून्य नहीं है

उपरोक्त प्रोग्राम में, main() फ़ंक्शन में मैट्रिक्स का आकार और एलिमेंट्स प्रदान किए जाते हैं। फिर determinant() फ़ंक्शन को कॉल किया जाता है। यह मैट्रिक्स का डिटरमिनेंट लौटाता है जिसे d में संग्रहीत किया जाता है। यदि डिटरमिनेंट 0 है, तो मैट्रिक्स इनवर्टिबल नहीं है और यदि डिटरमिनेंट 0 नहीं है, तो मैट्रिक्स इनवर्टिबल है। यह निम्नलिखित कोड स्निपेट द्वारा प्रदर्शित होता है।

cout << "मैट्रिक्स का आकार दर्ज करें:\n"; cin >> n; cout << "मैट्रिक्स के एलिमेंट्स दर्ज करें:\n"; for (i = 0; i < n; i++) for (j = 0; j < n; j++) cin >> matrix[i][j]; cout<<"दर्ज किया गया मैट्रिक्स है:"<<endl; for (i = 0; i < n; i++) {    for (j = 0; j < n; j++)    cout << matrix[i][j] <<" ";    cout<<endl; } d = determinant(matrix, n); cout<<"मैट्रिक्स का डिटरमिनेंट है "<< d <<endl; if( d == 0 ) cout<<"यह मैट्रिक्स इनवर्टिबल नहीं है क्योंकि डिटरमिनेंट शून्य है"; else cout<<"यह मैट्रिक्स इनवर्टिबल है क्योंकि डिटरमिनेंट शून्य नहीं है";

determinant() फ़ंक्शन में, यदि मैट्रिक्स का आकार 2 है, तो डिटरमिनेंट की सीधे गणना की जाती है और मान लौटाया जाता है। यह निम्नलिखित है।

if (n == 2) return ((matrix[0][0] * matrix[1][1]) - (matrix[1][0] * matrix[0][1]));

यदि मैट्रिक्स का आकार 2 नहीं है, तो डिटरमिनेंट की गणना रिकर्सिव रूप से की जाती है। x, i और j लूप वेरिएबल्स के साथ 3 नेस्टेड फॉर लूप्स का उपयोग किया जाता है। इन लूप्स का उपयोग डिटरमिनेंट की गणना के लिए किया जाता है और determinant() फ़ंक्शन को आंतरिक डिटरमिनेंट की गणना के लिए रिकर्सिवली कॉल किया जाता है और फिर इसे बाहरी मान से गुणा किया जाता है। यह निम्नलिखित कोड स्निपेट द्वारा प्रदर्शित होता है।

for (int x = 0; x < n; x++) {    int subi = 0;    for (int i = 1; i < n; i++) {       int subj = 0;       for (int j = 0; j < n; j++) {          if (j == x)          continue;          submatrix[subi][subj] = matrix[i][j];          subj++;       }       subi++;    }    det = det + (pow(-1, x) * matrix[0][x] * determinant( submatrix, n - 1 )) }

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

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

  1. C++ में डायगोनल मैट्रिक्स और स्केलर मैट्रिक्स जांचें C++ में डायगोनल मैट्रिक्स और स्केलर मैट्रिक्स जांचें

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

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

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