एक मैट्रिक्स को दो तरह से ट्रेस किया जा सकता है। रो-माइस ट्रैवर्सल पहली पंक्ति से शुरू होकर दूसरी और इसी तरह अंतिम पंक्ति तक एक-एक करके प्रत्येक पंक्ति का दौरा करता है। पंक्ति में तत्वों को सूचकांक 0 से अंतिम सूचकांक में लौटाया जाता है।
कॉलम-वार ट्रैवर्सल में, तत्वों को पहले कॉलम से अंतिम कॉलम तक क्रम में ट्रैवर्स किया जाता है।
2डी मैट्रिक्स में एम [i] [जे]। अनुक्रमणिका i का उपयोग पंक्तियों का प्रतिनिधित्व करने के लिए किया जाता है और अनुक्रमणिका j का उपयोग स्तंभों का प्रतिनिधित्व करने के लिए किया जाता है। पंक्ति-वार ट्रैवर्सल के लिए, से प्रारंभ करें
i=0वीं पंक्ति और 0<=j<अंतिम अनुक्रमणिका
i=1पहली पंक्ति और 0<=j<अंतिम अनुक्रमणिका
.....
i=अंतिम पंक्ति और 0<=j<अंतिम अनुक्रमणिका
कॉलम-वार ट्रैवर्सल के लिए, से शुरू करें
j=0वां स्तंभ और 0<=i<अंतिम अनुक्रमणिका
j=1पहला स्तंभ और 0<=i<अंतिम अनुक्रमणिका
.....
j=अंतिम स्तंभ और 0<=i<अंतिम अनुक्रमणिका
अनुक्रमणिका का क्रम 2D सरणी M[i][j]- i पंक्तियों के लिए और j स्तंभों के लिए समान रहता है
उदाहरण
इनपुट -
int arr[MAX][MAX] = { {1,2,3,4,5},{6,7,8,9,0}, {5,4,3,2,1},{0,0,0,0,0}, {8,9,7,6,1}};
आउटपुट -
Row Major Traversal 1 2 3 4 5 6 7 8 9 0 5 4 3 2 1 0 0 0 0 0 8 9 7 6 1 Column Major Traversal 1 6 5 0 8 2 7 4 0 9 3 8 3 0 7 4 9 2 0 6 5 0 1 0 1
स्पष्टीकरण −आउटपुट स्व-व्याख्यात्मक है
इनपुट -
int arr[MAX][MAX] = { {1,1,1,1,1},{2,2,2,2,2}, {3,3,3,3,3},{4,4,4,4,4}, {5,5,5,5,5}};
आउटपुट -
Row Major Traversal 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 Column Major Traversal 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
स्पष्टीकरण - आउटपुट स्व-व्याख्यात्मक है।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
इस दृष्टिकोण में हम पंक्ति-वार और स्तंभ-वार ट्रैवर्सल में इनपुट 2D मैट्रिक्स को प्रिंट करने के लिए लूप के लिए दो का उपयोग करते हैं।
-
2D मैट्रिक्स का प्रतिनिधित्व करने के लिए इनपुट सरणी arr[][] लें।
-
पंक्ति तत्वों और स्तंभ तत्वों के लिए चर i और j को अनुक्रमणिका के रूप में लें।
-
पंक्ति-वार ट्रैवर्सल के लिए अनुक्रमणिका i=0 से i
-
इसके अंदर, ith पंक्ति के सभी तत्वों को ट्रैवर्स करने के लिए j=0 से j
-
प्रिंट एरर[i][j]
-
कॉलम-वार ट्रैवर्सल के लिए इंडेक्स j=0 से j
-
इसके अंदर, jth कॉलम के सभी तत्वों को ट्रैवर्स करने के लिए i=0 से i
-
प्रिंट एरर[i][j].
उदाहरण
#include <bits/stdc++.h> using namespace std; #define MAX 5 int main(){ int arr[MAX][MAX] = { {1,2,3,4,5},{6,7,8,9,0},{5,4,3,2,1},{0,0,0,0,0},{8,9,7,6,1}}; int i, j; cout<<"Row Major Traversal "<<endl; for(i=0;i<MAX;i++){ cout<<endl; for(j=0;j<MAX;j++){ cout<<" "<<arr[i][j]; } } cout<<endl<<endl; cout<<"Column Major Traversal "<<endl; for(j=0;j<MAX;j++){ cout<<endl; for(j=0;j<MAX;j++){ cout<<" "<<arr[j][i]; } } return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा
Row Major Traversal 1 2 3 4 5 6 7 8 9 0 5 4 3 2 1 0 0 0 0 0 8 9 7 6 1 Column Major Traversal 6 5 0 8 3 2 7 6 4