हमें आकार 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