एक मैट्रिक्स को दो तरीकों से ट्रैवर्स किया जा सकता है। पंक्ति-वार ट्रैवर्सल प्रत्येक पंक्ति को एक-एक करके पहले पंक्ति से शुरू करके अंतिम पंक्ति तक देखता है। पंक्ति में तत्व इंडेक्स 0 से अंतिम इंडेक्स तक लौटाए जाते हैं।
स्तंभ-वार ट्रैवर्सल में, तत्वों को पहले स्तंभ से अंतिम स्तंभ तक क्रम में ट्रैवर्स किया जाता है।
2D मैट्रिक्स M[i][j] में। इंडेक्स 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 मैट्रिक्स को पंक्ति-वार और स्तंभ-वार ट्रैवर्सल में प्रिंट करने के लिए दो for लूप का उपयोग करते हैं।
2D मैट्रिक्स को दर्शाने के लिए इनपुट सरणी arr[][] लें।
पंक्ति तत्वों और स्तंभ तत्वों के लिए इंडेक्स के रूप में वेरिएबल i और j लें।
पंक्ति-वार ट्रैवर्सल के लिए इंडेक्स i=0 से i
इसके अंदर, इंडेक्स j=0 से j
arr[i][j] प्रिंट करें
स्तंभ-वार ट्रैवर्सल के लिए इंडेक्स j=0 से j
इसके अंदर, इंडेक्स i=0 से i
arr[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