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

C++-এ ম্যাট্রিক্সের রো-ওয়াইজ ও কলাম-ওয়াইজ ট্রাভার্সাল


একটি ম্যাট্রিক্সকে দুটি ভাবে ট্রাভার্স করা যায়: রো-মেজর (রো অনুযায়ী) এবং কলাম-মেজর (কলাম অনুযায়ী)।

২D ম্যাট্রিক্স M[i][j]-এ i রো ও j কলাম নির্দেশ করে।

রো-মেজর ট্রাভার্সাল

  • i=0 রো থেকে শুরু করে 0 <= j < last

  • i=1 রো থেকে শুরু করে 0 <= j < last

  • ...

  • i=last রো থেকে শুরু করে 0 <= j < last

কলাম-মেজর ট্রাভার্সাল

  • j=0 কলাম থেকে শুরু করে 0 <= i < last

  • j=1 কলাম থেকে শুরু করে 0 <= i < last

  • ...

  • j=last কলাম থেকে শুরু করে 0 <= i < last

উদাহরণ

ইনপুট −

int arr[MAX][MAX] = { {1,2,3,4,5},{6,7,8,9,0},{5,4,3,2,1},{0,0,0,0,0},{8,9,7,6,1}};

আউটপুট −

Row Major Traversal 1 2 3 4 5 6 7 8 9 0 5 4 3 2 1 0 0 0 0 0 8 9 7 6 1
Column Major Traversal 1 6 5 0 8 2 7 4 0 9 3 8 3 0 7 4 9 2 0 6 5 0 1 0 1

প্রোগ্রামে ব্যবহৃত পদ্ধতি

দুটি নেস্টেড ফর লুপ দিয়ে রো-ওয়াইজ ও কলাম-ওয়াইজ প্রিন্ট করা হয়।

  • ইনপুট অ্যারে arr[][] নিন।

  • i রো ইনডেক্স, j কলাম ইনডেক্স।

  • রো-ওয়াইজ: বাহ্যিক লুপ i=0 থেকে MAX, আভ্যন্তর লুপ j=0 থেকে MAX, প্রিন্ট arr[i][j]।

  • কলাম-ওয়াইজ: বাহ্যিক লুপ j=0 থেকে MAX, আভ্যন্তর লুপ i=0 থেকে MAX, প্রিন্ট arr[i][j]।

উদাহরণ কোড

#include <bits/stdc++.h>
using namespace std;
#define MAX 5

int main(){
    int arr[MAX][MAX] = { {1,2,3,4,5},{6,7,8,9,0},{5,4,3,2,1},{0,0,0,0,0},{8,9,7,6,1}};
    int i, j;
    cout << "Row Major Traversal " << endl;
    for(i=0; i

আউটপুট

উপরের কোড রান করলে নিচের আউটপুট পাওয়া যাবে:

Row Major Traversal 1 2 3 4 5 6 7 8 9 0 5 4 3 2 1 0 0 0 0 0 8 9 7 6 1 Column Major Traversal 6 5 0 8 3 2 7 6 4
  1. C++-এ ম্যাট্রিক্সের জিগজ্যাগ (ডায়াগোনাল) ট্রাভার্সাল

  2. C++-এ জিগজ্যাগ ট্রি ট্রাভার্সাল

  3. সি++-এ স্পায়রাল ম্যাট্রিক্স III (Spiral Matrix III)

  4. C++-এ বুলিয়ান ম্যাট্রিক্স সমস্যা (Boolean Matrix Question)