इस समस्या में, हमें एक 2-आयामी मैट्रिक्स दिया गया है। हमारा काम मैट्रिक्स के ज़िगज़ैग फॉर्म को प्रिंट करना है।
आइए समस्या को समझने के लिए एक उदाहरण लेते हैं
Input: 12 99 43 10 82 50 15 75 5 Output: 12 99 43 50 82 10 15 75 5
इस समस्या को हल करने के लिए, हम सरणी के तत्वों को दोनों दिशाओं (LtoR और RtoL) में प्रिंट करेंगे। और ध्वज चर का उपयोग करके दिशा बदलें।
उदाहरण
#include <iostream>
using namespace std;
void printZigZagPattern(int row, int col, int a[][5]) {
int evenRow = 0;
int oddRow = 1;
while (evenRow<ow) {
for (int i=0;i<col;i++) {
cout<<a[evenRow][i]<<" ";
}
evenRow = evenRow + 2;
if(oddRow < row) {
for (int i=col-1; i>=0; i--)
cout<<a[oddRow][i] <<" ";
}
oddRow = oddRow + 2;
}
}
int main() {
int r = 3, c = 3;
int mat[][5] = {
{12,99,43},
{10,82,50},
{15,75,5}
};
cout<<"Elements of the matrix in ZigZag manner :\n";
printZigZagPattern(r , c , mat);
return 0;
} आउटपुट
ज़िगज़ैग तरीके से मैट्रिक्स के तत्व -
12 99 43 50 82 10 15 75 5