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

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


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

डायगोनल मैट्रिक्स

एक स्क्वायर मैट्रिक्स m[][] डायगोनल मैट्रिक्स होगी यदि और केवल यदि मुख्य विकर्ण को छोड़कर सभी एलिमेंट्स शून्य हैं।

नीचे दिए गए चित्र की तरह -

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

यहां, लाल में एलिमेंट्स मुख्य विकर्ण हैं जो नॉन-जीरो हैं बाकी एलिमेंट्स मुख्य विकर्ण को छोड़कर शून्य हैं जिससे यह डायगोनल मैट्रिक्स बनता है।

उदाहरण

इनपुट: m[3][3] = { {7, 0, 0},    {0, 8, 0},    {0, 0, 9}} आउटपुट: हां इनपुट: m[3][3] = {  {1, 2, 3},    {0, 4, 0},    {0, 0, 5} } आउटपुट: नहीं

एल्गोरिदम

Start Step 1 -> साइज 4 का मैक्रो डिफाइन करें Step 2 -> मैट्रिक्स डायगोनल है या नहीं जांचने का फंक्शन डिक्लेयर करें    bool ifdiagonal(int arr[size][size])       Loop int i = 0 से i < size और i++ तक          Loop int j = 0 से j < size और j++ तक             IF ((i != j) & (arr[i][j] != 0))                return false             End       End    End    return true step 3 -> main() में    int arr[size][size] = { { 1, 0, 0, 0 },       { 0, 1, 0, 0 },       { 0, 0, 1, 0 },       { 0, 0, 0, 1 }    }; डिक्लेयर और सेट करें    IF (ifdiagonal(arr))       यह एक डायगोनल मैट्रिक्स है प्रिंट करें    End    Else       यह डायगोनल मैट्रिक्स नहीं है प्रिंट करें    End Stop

डायगोनल मैट्रिक्स

उदाहरण

#include <bits/stdc++.h> #define size 4 using namespace std; // जांचें कि मैट्रिक्स डायगोनल मैट्रिक्स है या नहीं। bool ifdiagonal(int arr[size][size]){    for (int i = 0; i < size; i++)    for (int j = 0; j < size; j++)    if ((i != j) && (arr[i][j] != 0))       return false;       return true; } int main(){    int arr[size][size] = { { 1, 0, 0, 0 },       { 0, 1, 0, 0 },       { 0, 0, 1, 0 },       { 0, 0, 0, 1 }    };    if (ifdiagonal(arr))       cout << "its a diagonal matrix" << endl;    else       cout << "its not a diagonal matrix" << endl;    return 0; }

आउटपुट

its a diagonal matrix

स्केलर मैट्रिक्स

 एक स्क्वायर मैट्रिक्स m[][] स्केलर मैट्रिक्स है यदि मुख्य विकर्ण में एलिमेंट्स समान हैं और बाकी एलिमेंट्स शून्य हैं।

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

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

यहां, लाल में एलिमेंट्स विकर्ण एलिमेंट्स हैं जो समान हैं और बाकी एलिमेंट्स शून्य हैं जिससे यह स्केलर मैट्रिक्स बनता है। 

उदाहरण

इनपुट: m[3][3] = { {2, 0, 0},    {0, 2, 0},    {0, 0, 2} } आउटपुट: हां इनपुट: m[3][3] = { {3, 0, 0},    {0, 2, 0},    {0, 0, 3} } आउटपुट: नहीं

एल्गोरिदम

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

उदाहरण

#include <bits/stdc++.h> #define size 4 using namespace std; // मैट्रिक्स स्केलर मैट्रिक्स है या नहीं जांचें। bool scalar(int arr[size][size]){    for (int i = 0; i < size; i++)    for (int j = 0; j < size; j++)       if ((i != j) && (arr[i][j] != 0))          return false;    for (int i = 0; i < size - 1; i++)       if (arr[i][i] != arr[i + 1][i + 1])          return false;          return true; } int main(){    int arr[size][size] = { { 2, 0, 0, 0 },       { 0, 2, 0, 0 },       { 0, 0, 2, 0 },       { 0, 0, 0, 2 } };    if (scalar(arr))       cout << "its a scalar matrix" << endl;    else       cout << "its not a scalar matrix" << endl;    return 0; }

आउटपुट

its a scalar 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 एक स्क्वायर मैट्रिक्स बनाता है। हमें जांचना है कि दिया गया स्क्वायर मैट्रिक्स इडेम्पोटेंट मैट्रिक्स है या नहीं।इडेम्पोटेंट मैट्रिक्सएक मैट्रिक्स M को इडेम्पोटेंट मैट्रिक्स कहा जाता है यदि