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

सूचकांकों का अधिकतम अंतर (i, j) जैसे कि A[i][j] =0 दिए गए मैट्रिक्स में C++


हमें आकार n x n के मैट्रिक्स और एक शर्त के साथ दिया गया है कि a[i][j] =0 और कार्य एक [i] वाले सूचकांकों के अधिकतम अंतर की गणना करना है। j] =0. तो, हम स्पष्ट रूप से कह सकते हैं कि मैट्रिक्स में कम से कम एक शून्य होना चाहिए।

इनपुट

int matrix[][] = {
   {0, 1, 1},
   {0, 0, 0},
   {4, 5, 1}}

आउटपुट -सूचकांकों का अधिकतम अंतर (i, j) ऐसा है कि दिए गए मैट्रिक्स में A[i][j] =0 है -

स्पष्टीकरण - हमारे पास मैट्रिक्स [0] [0], मैट्रिक्स [1] [0], मैट्रिक्स [1] [1] और मैट्रिक्स [1] [2] में तत्व 0 है। तो सूचकांकों का अधिकतम अंतर मैट्रिक्स [1] [0] पर होगा जिसमें तत्व 0 है। तो अधिकतम अंतर 1 है।

इनपुट

int matrix[][] = {
   {0, 1, 1},
   {0, 2, 9},
   {4, 0, 1}}

आउटपुट - सूचकांकों का अधिकतम अंतर (i, j) ऐसा है कि दिए गए मैट्रिक्स में A[i][j] =0 है -

स्पष्टीकरण - हमारे पास मैट्रिक्स [0] [0], मैट्रिक्स [1] [0] और मैट्रिक्स [2] [1] में तत्व 0 है। तो सूचकांकों का अधिकतम अंतर मैट्रिक्स [1] [0] और मैट्रिक्स [2] [1] पर होगा जिसमें तत्व 0 है। तो अधिकतम अंतर 1 है।

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • मैट्रिक्स को इस तरह इनपुट करें कि इसमें किसी भी इंडेक्स पर कम से कम एक 1 होना चाहिए।

  • पंक्ति और स्तंभ अधिकतम आकार यानी n x n के आकार को परिभाषित करें।

  • एक अस्थायी चर लें जो अधिकतम अंतर मान को संग्रहीत करेगा।

  • लूप प्रारंभ करें 0 से पंक्ति_आकार तक के लिए

  • लूप के अंदर, 0 से col_size तक के लिए एक और लूप प्रारंभ करें

  • IF मैट्रिक्स की जाँच करें[i][j] =0

  • फिर अधिकतम मान को सूचकांकों के बीच अंतर के रूप में अधिकतम मान के रूप में सेट करें।

  • अधिकतम मान लौटाएं

  • परिणाम प्रिंट करें।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
#define row 3
#define col 3
//find maximum difference
int maximum(int matrix[row][col]){
   int max_val = 0;
   for (int i = 0; i < row; i++){
      for (int j = 0; j < col; j++){
         if (matrix[i][j] == 0){
            max_val = max(max_val, abs(i - j));
         }
      }
   }
   return max_val;
}
int main(){
   int matrix[row][col] = {
      { 1, 2, 0},
      { 0, 4, 0},
      { 0, 1, 0}};
   cout<<"Maximum difference of indices with A[i][j] = 0 is: "<<maximum(matrix);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो हमें निम्न आउटपुट मिलेगा -

Maximum difference of indices with A[i][j] = 0 is: 2

  1. C++ में दिए गए समीकरणों को संतुष्ट करने वाले n धनात्मक पूर्णांक ज्ञात कीजिए

    इस समस्या में, हमें तीन मान A, B और N दिए गए हैं। हमारा कार्य n धनात्मक पूर्णांक ज्ञात करना है जो दिए गए समीकरणों को संतुष्ट करते हैं। समस्या का विवरण - हमें दोनों समीकरणों को संतुष्ट करने वाले एन सकारात्मक मूल्यों को खोजने की जरूरत है, x12 + x22 + … xn2 ≥ A x1 + x2 + … xn ≤ B

  1. C++ में दी गई शर्त को पूरा करने वाले उपसमुच्चय गिनें

    संख्याओं की एक सरणी और इनपुट के रूप में एक पूर्णांक x दिया गया है। लक्ष्य arr[] के सभी उपसमुच्चय को इस प्रकार खोजना है कि उस समुच्चय के अलग-अलग तत्वों के साथ-साथ उनका योग x से पूरी तरह से विभाज्य हो। उदाहरण के लिए इनपुट arr[] = {1,2,3,4,5,6} x=3 आउटपुट Count of subsets that satisfy the given condi

  1. बाइनरी ट्री में अधिकतम उप-वृक्ष योग जैसे कि उप-वृक्ष भी C++ प्रोग्राम में एक BST है

    इस समस्या में हमें एक बाइनरी ट्री BT दिया जाता है। हमारा काम बाइनरी ट्री में अधिकतम उप-वृक्ष योग को खोजने के लिए एक प्रोग्राम बनाना है जैसे कि उप-पेड़ भी एक बीएसटी है। बाइनरी ट्री की एक विशेष शर्त है कि प्रत्येक नोड में अधिकतम दो बच्चे हो सकते हैं। बाइनरी सर्च ट्री एक ऐसा पेड़ है जिसमें सभी नोड्