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

सी ++ प्रोग्राम में ऊपर से नीचे तक मैट्रिक्स में अधिकतम योग पथ

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

इसके लिए हमें N*N आकार का एक मैट्रिक्स प्रदान किया जाएगा। हमारा कार्य तिरछे उच्च सेल में जाते समय शीर्ष पंक्ति से निचली पंक्ति तक अधिकतम योग मार्ग खोजना है।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
#define SIZE 10
//finding maximum sum path
int maxSum(int mat[SIZE][SIZE], int n) {
   if (n == 1)
      return mat[0][0];
   int dp[n][n];
   int maxSum = INT_MIN, max;
   for (int j = 0; j < n; j++)
      dp[n - 1][j] = mat[n - 1][j];
   for (int i = n - 2; i >= 0; i--) {
      for (int j = 0; j < n; j++) {
         max = INT_MIN;
         if (((j - 1) >= 0) && (max < dp[i + 1][j - 1])) max = dp[i + 1][j - 1];
            if (((j + 1) < n) && (max < dp[i + 1][j + 1])) max = dp[i + 1][j + 1];
               dp[i][j] = mat[i][j] + max;
      }
   }
   for (int j = 0; j < n; j++)
      if (maxSum < dp[0][j])
         maxSum = dp[0][j];
   return maxSum;
}
int main() {
   int mat[SIZE][SIZE] = {
      { 5, 6, 1, 7 },
      { -2, 10, 8, -1 },
      { 3, -7, -9, 11 },
      { 12, -4, 2, 6 }
    };
   int n = 4;
   cout << "Maximum Sum = " << maxSum(mat, n);
   return 0;
}

आउटपुट

Maximum Sum = 28

  1. C++ में mXn मैट्रिक्स के ऊपर बाएँ से नीचे दाईं ओर सभी संभावित रास्तों को प्रिंट करें

    इस समस्या में, हमें एक mXn 2D मैट्रिक्स दिया जाता है और हमें मैट्रिक्स के ऊपर बाईं ओर से नीचे दाईं ओर सभी संभावित रास्तों को प्रिंट करना होता है। ट्रैवर्सल के लिए, हम मैट्रिक्स में केवल दाएं और नीचे जा सकते हैं। आइए विषय को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं - Input: 1 3 5 2 8 9 Output: 1

  1. सी++ में त्रिभुज में अधिकतम पथ योग

    इस समस्या में, हमें ऐसी संख्याएँ दी जाती हैं जो एक त्रिभुज के रूप में होती हैं। हमारा काम एक ऐसा प्रोग्राम बनाना है जो एक त्रिभुज में अधिकतम पथ योग प्राप्त करे। तत्वों को पहली पंक्ति से 1 एक तत्व के साथ व्यवस्थित किया जाता है और फिर अगली पंक्तियों में तत्वों की बढ़ती संख्या के साथ nth पंक्ति में तत

  1. सी ++ का उपयोग कर मैट्रिक्स में अधिकतम योग के साथ कॉलम खोजें।

    मान लीजिए कि हमारे पास एम एक्स एन आकार का एक मैट्रिक्स है। हमें कॉलम ढूंढना है, जिसमें अधिकतम योग है। इस कार्यक्रम में हम कुछ मुश्किल दृष्टिकोण का पालन नहीं करेंगे, हम सरणी कॉलम-वार को पार करेंगे, फिर प्रत्येक कॉलम का योग प्राप्त करेंगे, यदि योग अधिकतम है, तो योग और कॉलम इंडेक्स प्रिंट करें। उदाहरण