কম্পিউটার টিউটোরিয়াল

C++-এ ম্যাট্রিক্স বাম থেকে ডান তারপর ডান থেকে বাম এইভাবে প্রিন্ট করা

এই সমস্যায় একটি ২D অ্যারে দেওয়া আছে। আমাদের অ্যারের সকল উপাদান প্রথম সারি থেকে বাম থেকে ডান, তারপর পরের সারিতে ডান থেকে বাম, আবার বাম থেকে ডান এইভাবে প্রিন্ট করতে হবে।

উদাহরণ

ইনপুট: array = {{2, 5}, {4, 9}}
আউটপুট: 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; 
}

আউটপুট

The matrix in alternate order is :
23 50 4 34 9 89 75 1 61
  1. C++-এ BST-এ দিয়ে রেঞ্জের কী প্রিন্ট করুন O(1) স্পেসে

  2. C++-এ একটি ম্যাট্রিক্স কাউন্টার-ক্লকওয়াইজ স্পাইরাল ফর্মে প্রিন্ট করা

  3. C++-এ বাইনারি ট্রির সব লিফ নোড ডান থেকে বাম প্রিন্ট করা

  4. C++-এ অপারেটর প্রেসিডেন্স (Operators Precedence)