इस समस्या में, हमें 2D array दिया जाता है। हमारा काम पहली पंक्ति से शुरू होने वाले सरणी के सभी तत्वों को बाएं से दाएं, फिर अगली पंक्ति में दाएं से बाएं और फिर बाएं से दाएं और इसी तरह प्रिंट करना है।
समस्या को समझने के लिए एक उदाहरण लेते हैं।
Input: array = { {2, 5} {4, 9} } Output: 2 5 9 4
इस समस्या को हल करने के लिए, हम एक पंक्ति के दिए गए दिशा (LtoR और RtoL) में तत्वों को प्रिंट करेंगे। और प्रत्येक पुनरावृत्ति के बाद मुद्रण की दिशा दिखाने के लिए ध्वज तत्व स्विच हो जाएगा।
यह समय जटिलता के साथ एक आसान और कुशल समाधान है =O(R*C)
उदाहरण
हमारे समाधान के कार्यान्वयन को दिखाने के लिए कार्यक्रम
#include<iostream> using namespace std; #define R 3 #define C 3 void printAlternateMatrix(int arr[R][C]) { bool direction = true; for (int i=0; i<R; i++){ if (direction){ for (int j=0; j<C; j++) printf("%d ", arr[i][j]); } else{ for (int j=C-1; j>=0; j--) printf("%d ",arr[i][j]); } direction = !direction; } } int main() { int arr[][C] = { { 23 , 50 , 4 }, { 89 , 9 , 34 }, { 75 , 1 , 61 }, }; cout<<"Matrix in alternate order is :\n"; printAlternateMatrix(arr); return 0; }
आउटपुट
वैकल्पिक क्रम में मैट्रिक्स है -
23 50 4 34 9 89 75 1 61