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

C++ में दिए गए मैट्रिक्स के किसी भी सब-मैट्रिक्स के लिए अधिकतम संभव ट्रेस

इस समस्या में, हमें एक द्वि-आयामी सरणी arr[][] दी गई है। हमारा काम C++ में दिए गए मैट्रिक्स के किसी भी सब-मैट्रिक्स के लिए संभव अधिकतम ट्रेस खोजने के लिए एक प्रोग्राम बनाना है।

समस्या का विवरण

हमें किसी भी उप-मैट्रिक्स के लिए अधिकतम ट्रेस खोजने की आवश्यकता है। ट्रेस मैट्रिक्स के मुख्य विकर्ण के तत्वों का योग है।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट

arr[][] ={{-2, 5, 3},
          {1, 6, 2},
          {4, 3, 9}}

आउटपुट

15

स्पष्टीकरण

For the sub-array: {1, 6}
{9, 3}

समाधान दृष्टिकोण

2-डी सरणी के मुख्य विकर्ण के तत्व का उपयोग करके अधिकतम योग खोजने का एक आसान समाधान है। ट्रेस अधिकतम सबअरे योग द्वारा दिया जाता है।

उदाहरण

हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम,

#include <iostream>
using namespace std;
#define row 3
#define col 3

int CalcMaxTraceSubMat(int mat[row][col]){
   int maxtraceSum = 0, r, c, traceSum;
   for (int i = 0; i < row; i++){
      for (int j = 0; j < col; j++){
         r = i, c = j, traceSum = 0;
         while (r < row && c < col){
            traceSum += mat[r][c];
            r++;
            c++;
            maxtraceSum = max(traceSum, maxtraceSum);
         }
      }
   }
   return maxtraceSum;
}
int main() {
   int mat[row][col] = { {-2, 5, 6},
                        {1, 6, 2},
                        {4, 3, 9} };

   cout<<"The maximum trace possible for any submatrix is "<<CalcMaxTraceSubMat(mat);
   return 0;
}

आउटपुट

The maximum trace possible for any submatrix is 15

  1. बिटवाइज़ के लिए क्वेरीज़ या C++ . का उपयोग करके दिए गए ऐरे के इंडेक्स रेंज [L, R] में

    इस लेख में, हमें पूर्णांकों की एक सरणी दी गई है। हमें बिटवाइज़ या दी गई श्रेणी में मौजूद सभी नंबरों को खोजने का काम सौंपा गया है, उदाहरण के लिए, Input: arr[] = {1, 3, 1, 2, 3, 4}, q[] = {{0, 1}, {3, 5}} Output: 3 7 1 OR 3 = 3 2 OR 3 OR 4 = 7 Input: arr[] = {1, 2, 3, 4, 5}, q[] = {{0, 4}, {1, 3}} Out

  1. C++ में दिए गए मैट्रिक्स में 1s के वर्ग सबमैटिक्स की संख्या गिनने का कार्यक्रम

    मान लीजिए कि हमारे पास 2d बाइनरी मैट्रिक्स है, हमें सभी 1 s के साथ सबमैट्रिस की कुल संख्या ज्ञात करनी है। तो, अगर इनपुट पसंद है 1 1 0 1 1 0 0 0 1 तो आउटपुट 10 होगा, क्योंकि वहां पांच 1 x 1 मैट्रिक्स, दो 2 x 1 मैट्रिक्स है। दो 1 x 2 मैट्रिक्स। और एक 2 x 2 मैट्रिक्स। इसे हल करने के लिए, हम इन

  1. सी ++ में ग्रिड में दी गई दिशा में संभावित चालों की गणना करें

    हम दो चर n और m हैं जो n x m आकार के ग्रिड का प्रतिनिधित्व करते हैं और प्रारंभिक बिंदु x, y से शुरू करते हैं। कदमों/चालों के जोड़े भी दिए गए हैं जिन्हें चाल ((1,1), (2,2)) आदि के रूप में ग्रिड के अंदर ले जाया जा सकता है। चालों की प्रत्येक जोड़ी x,y अक्ष में उठाए गए कदमों की इकाई का प्रतिनिधित्व करत