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

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


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

इडेम्पोटेंट मैट्रिक्स

एक मैट्रिक्स 'M' को इडेम्पोटेंट मैट्रिक्स कहा जाता है यदि और केवल यदि मैट्रिक्स 'M' को स्वयं से गुणा करने पर वही मैट्रिक्स 'M' वापस मिलता है यानी M * M = M.

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

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

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

उदाहरण

इनपुट: m[3][3] = { {2, -2, -4},    {-1, 3, 4},    {1, -2, -3}} आउटपुट: इडेम्पोटेंट इनपुट: m[3][3] == { {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])    int res[size][size] डिक्लेयर करें    multiply(arr, res) कॉल करें       Loop int i = 0 से i < size और i++ तक       Loop int j = 0 से j < size और j++ तक          IF (arr[i][j] != res[i][j])             return false          End       End    End    return true step 4 -> main() में    int arr[size][size] = {{1, -1, -1},       {-1, 1, 1},       {1, -1, -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]){    int res[size][size];    multiply(arr, res);    for (int i = 0; i < size; i++)    for (int j = 0; j < size; j++)       if (arr[i][j] != res[i][j])          return false;    return true; } int main(){    int arr[size][size] = {{1, -1, -1},       {-1, 1, 1},       {1, -1, -1}};    if (check(arr))       cout << "its an idempotent matrix";    else       cout << "its not an idempotent matrix";    return 0; }

आउटपुट

its an idempotent 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++ में डायगोनल मैट्रिक्स और स्केलर मैट्रिक्स जांचें

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