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

C++-এ দুই মাত্রিক অ্যারে (2D Array) ফাংশনে পাস করা

C++-এ পুরো অ্যারে ফাংশনে পাস করা যায় না, পয়েন্টার পাস করা হয়। ২D অ্যারে পাস করার তিনটি পদ্ধতি:

১. কলাম সাইজ ফিক্সড (Row unspecified)

void processArr(int a[][10]) { ... }

২. পয়েন্টারের অ্যারে

void processArr(int *a[10]) { ... }
// কল:
int *array[10];
for(int i=0; i<10; i++) array[i] = new int[10];
processArr(array);

৩. পয়েন্টার-টু-পয়েন্টার (Double Pointer)

void processArr(int **a) { ... }
// কল:
int **array = new int*[10];
for(int i=0; i<10; i++) array[i] = new int[10];
processArr(array);

সম্পূর্ণ উদাহরণ (পদ্ধতি ১)

#include <iostream>
using namespace std;

void processArr(int a[][2]) {
    cout << "element at index 1,1 is " << a[1][1];
}

int main() {
    int arr[2][2] = {{0,1},{2,3}};
    processArr(arr);
    return 0;
}

আউটপুট

element at index 1,1 is 3

সুপারিশ: আধুনিক C++-এ std::vector<std::vector<T>> বা std::array<std::array<T, Cols>, Rows> ব্যবহার করুন।

  1. C++-এ ফাংশনে অ্যারে প্যারামিটারের সাইজ কীভাবে প্রিন্ট করবেন?

  2. C++-এ ফাংশন থেকে লোকাল অ্যারে রিটার্ন কীভাবে করবেন?

  3. C++-এ ফাংশন থেকে অ্যারে রিটার্ন কীভাবে করবেন?

  4. C++-এ অ্যারে ফাংশনে পাস করা (Passing Array to Function)