এই সমস্যায় একটি ২-মাত্রিক ম্যাট্রিক্স দেওয়া আছে। আমাদের ম্যাট্রিক্সের জিগজ্যাগ ফর্ম প্রিন্ট করতে হবে।
উদাহরণ
ইনপুট: 12 99 43 10 82 50 15 75 5 আউটপুট: 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 < row) {
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;
}
আউটপুট
Elements of the matrix in a ZigZag manner : 12 99 43 50 82 10 15 75 5