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

C++ प्रोग्राम: स्पार्स मैट्रिक्स कार्यान्वयन


स्पार्स मैट्रिक्स

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

उदाहरण

मैट्रिक्स:
0 0 9
5 0 8
7 0 0

शून्य की संख्या: 5 (कुल 9 में से)
5 > 9/2 = 4.5 → स्पार्स मैट्रिक्स

C++ प्रोग्राम उदाहरण

#include <iostream>
using namespace std;

int main() {
    int a[10][10] = { {0, 0, 9}, {5, 0, 8}, {7, 0, 0} };
    int i, j, count = 0;
    int row = 3, col = 3;
    
    // शून्य गिनें
    for (i = 0; i < row; ++i)
        for (j = 0; j < col; ++j)
            if (a[i][j] == 0)
                count++;
    
    // मैट्रिक्स प्रदर्शित करें
    cout << "The matrix is:" << endl;
    for (i = 0; i < row; ++i) {
        for (j = 0; j < col; ++j)
            cout << a[i][j] << " ";
        cout << endl;
    }
    
    cout << "Number of zeros: " << count << endl;
    
    if (count > ((row * col) / 2))
        cout << "This is a sparse matrix" << endl;
    else
        cout << "This is not a sparse matrix" << endl;
    
    return 0;
}

आउटपुट

The matrix is:
0 0 9
5 0 8
7 0 0
Number of zeros: 5
This is a sparse matrix

कोड व्याख्या

शून्य गणना

नेस्टेड लूप से सभी तत्वों की जांच करके शून्य गिने जाते हैं।

मैट्रिक्स प्रदर्शन

नेस्टेड लूप से पंक्ति-दर-पंक्ति मैट्रिक्स प्रिंट किया जाता है।

स्पार्स जांच

यदि count > (row*col)/2 तो स्पार्स मैट्रिक्स है।

स्पार्स मैट्रिक्स प्रतिनिधित्व

बड़े स्पार्स मैट्रिक्स के लिए, केवल गैर-शून्य तत्वों को स्टोर करना (ट्रिपलेट रूप: row, col, value) मेमोरी बचाता है।

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

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

  1. C++ में सीजर सिफर (Caesar Cipher) का कार्यान्वयन C++ में सीजर सिफर (Caesar Cipher) का कार्यान्वयन

    यह एक मोनो-अल्फाबेटिक सिफर है जिसमें प्लेनटेक्स्ट के प्रत्येक अक्षर को दूसरे अक्षर द्वारा प्रतिस्थापित किया जाता है ताकि सिफरटेक्स्ट बन सके। यह सब्स्टीट्यूशन सिफर योजना का सबसे सरल रूप है। इस क्रिप्टोसिस्टम को आमतौर पर शिफ्ट सिफर के रूप में संदर्भित किया जाता है। अवधारणा प्रत्येक अल्फाबेट को दूसरे

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

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