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

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


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

नीचे दिया गया मैट्रिक्स 5 शून्य रखता है। चूंकि शून्य की संख्या मैट्रिक्स के आधे से अधिक एलिमेंट्स हैं, यह एक स्पार्स मैट्रिक्स है।

1 0 2 5 0 0 0 0 9

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

उदाहरण

#include<iostream> using namespace std; int main () {    int a[10][10] = { {2, 0, 0} , {0, 3, 8} , {0, 9, 0} };    int i, j, count = 0;    int r = 3, c = 3;    for (i = 0; i < r; ++i) {       for (j = 0; j < c; ++j) {          if (a[i][j] == 0)          count++;       }    }    cout<<"मैट्रिक्स है:"<<endl;    for (i = 0; i < r; ++i) {       for (j = 0; j < c; ++j) {          cout<<a[i][j]<<" ";       }       cout<<endl;    }    cout<<"मैट्रिक्स में "<<count<<" शून्य हैं"<<endl;    if (count > ((r * c)/ 2))    cout<<"यह एक स्पार्स मैट्रिक्स है"<<endl;    else    cout<<"यह स्पार्स मैट्रिक्स नहीं है"<<endl;    return 0; }

आउटपुट

मैट्रिक्स है: 2 0 0 0 3 8 0 9 0 मैट्रिक्स में 5 शून्य हैं यह एक स्पार्स मैट्रिक्स है

उपरोक्त प्रोग्राम में, मैट्रिक्स में शून्य की संख्या गिनने के लिए नेस्टेड फॉर लूप का उपयोग किया जाता है। यह निम्नलिखित कोड स्निपेट का उपयोग करके प्रदर्शित होता है।

for (i = 0; i < r; ++i) {    for (j = 0; j < c; ++j) {       if (a[i][j] == 0)       count++;    } }

शून्य की संख्या खोजने के बाद, मैट्रिक्स को नेस्टेड फॉर लूप का उपयोग करके प्रदर्शित किया जाता है। यह नीचे दिखाया गया है:

cout<<"मैट्रिक्स है:"<<endl; for (i = 0; i < r; ++i) {    for (j = 0; j < c; ++j) {       cout<<a[i][j]<<" ";    }    cout<<endl; }

अंत में, शून्य की संख्या प्रदर्शित की जाती है। यदि शून्य की संख्या मैट्रिक्स में आधे से अधिक एलिमेंट्स है, तो प्रदर्शित किया जाता है कि मैट्रिक्स स्पार्स मैट्रिक्स है अन्यथा मैट्रिक्स स्पार्स मैट्रिक्स नहीं है।

cout<<"मैट्रिक्स में "<<count<<" शून्य हैं"<<endl; if (count > ((r * c)/ 2)) cout<<"यह एक स्पार्स मैट्रिक्स है"<<endl; else cout<<"यह स्पार्स मैट्रिक्स नहीं है"<<endl;

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

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

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

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

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

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