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

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


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

इन्वोल्यूटरी मैट्रिक्स

एक मैट्रिक्स को इन्वोल्यूटरी मैट्रिक्स कहा जाता है यदि और केवल यदि, जब मैट्रिक्स को स्वयं से गुणा किया जाता है और उसका परिणाम एक आइडेंटिटी मैट्रिक्स होता है। एक मैट्रिक्स I आइडेंटिटी मैट्रिक्स है यदि और केवल यदि उसका मुख्य विकर्ण 1 है और मुख्य विकर्ण के अलावा अन्य एलिमेंट्स शून्य हैं। तो, हम कह सकते हैं कि एक मैट्रिक्स इन्वोल्यूटरी मैट्रिक्स है यदि और केवल यदि M*M=I, जहां M कोई मैट्रिक्स है और I एक आइडेंटिटी मैट्रिक्स है।

नीचे दिए गए उदाहरण की तरह -

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

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

उदाहरण

इनपुट: { {1, 0, 0},    {0, -1, 0},    {0, 0, -1}} आउटपुट: हां इनपुट: { {3, 0, 0},    {0, 2, 0},    {0, 0, 3} } आउटपुट: नहीं

एल्गोरिदम

Start Step 1 -> मैक्रो डिफाइन करें #define size 3 Step 2 -> मैट्रिक्स मल्टीप्लिकेशन के लिए फंक्शन डिक्लेयर करें।    void multiply(int arr[][size], int res[][size])       Loop int i = 0 से i < size और i++ तक          Loop int j = 0 से j < size और j++ तक             res[i][j] = 0 सेट करें             Loop int k = 0 से k < size और k++ तक                res[i][j] += arr[i][k] * arr[k][j] सेट करें             End          End    End Step 3 -> इन्वोल्यूटरी मैट्रिक्स है या नहीं जांचने का फंक्शन डिक्लेयर करें    bool check(int arr[size][size])    int res[size][size] डिक्लेयर करें    multiply(arr, res) कॉल करें    Loop int i = 0 से i < size और i++ तक       Loop int j = 0 से j < size और j++ तक          IF (i == j && res[i][j] != 1)             return false          End          If (i != j && res[i][j] != 0)             return false          End       End    End    Return true Step 4 -> main() में    int arr[size][size] = { { 1, 0, 0 },       { 0, -1, 0 },       { 0, 0, -1 } } डिक्लेयर करें    If (check(arr))       यह एक इन्वोल्यूटरी मैट्रिक्स है प्रिंट करें    Else       यह इन्वोल्यूटरी मैट्रिक्स नहीं है प्रिंट करें Stop

उदाहरण

#include <bits/stdc++.h> #define size 3 using namespace std; // मैट्रिक्स मल्टीप्लिकेशन। void multiply(int arr[][size], int res[][size]){    for (int i = 0; i < size; i++){       for (int j = 0; j < size; j++){          res[i][j] = 0;          for (int k = 0; k < size; k++)             res[i][j] += arr[i][k] * arr[k][j];       }    } } // इन्वोल्यूटरी मैट्रिक्स है या नहीं जांचें। bool check(int arr[size][size]){    int res[size][size];    multiply(arr, res);    for (int i = 0; i < size; i++){       for (int j = 0; j < size; j++){          if (i == j && res[i][j] != 1)             return false;          if (i != j && res[i][j] != 0)             return false;       }    }    return true; } int main(){    int arr[size][size] = { { 1, 0, 0 },       { 0, -1, 0 },       { 0, 0, -1 } };    if (check(arr))       cout << "its an involutory matrix";    else       cout << "its not an involutory matrix";    return 0; }

आउटपुट

its an involutory matrix

  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 होगा (या वेटेड ग्राफ के