কম্পিউটার

C++ এ বিকল্প পদ্ধতিতে (বাম থেকে ডান তারপর ডান থেকে বামে) একটি ম্যাট্রিক্স প্রিন্ট করুন


এই সমস্যায়, আমাদের একটি 2D অ্যারে দেওয়া হয়েছে। আমাদের কাজ হল প্রথম সারি থেকে শুরু করে বাম থেকে ডানে, তারপর পরের সারিতে ডান থেকে বামে এবং আবার বাম থেকে ডানে এবং আরও অনেক কিছু প্রিন্ট করা।

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক।

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

  1. প্রদত্ত রেঞ্জে BST কী প্রিন্ট করুন - C++ এ O(1) স্পেস

  2. একটি প্রদত্ত ম্যাট্রিক্স C++ এ ঘড়ির কাঁটার বিপরীতে সর্পিল আকারে প্রিন্ট করুন

  3. C++ এ ডান থেকে বামে একটি বাইনারি গাছের সমস্ত পাতার নোড প্রিন্ট করুন

  4. C++ এ অপারেটরদের অগ্রাধিকার