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

C++-এ ২D অ্যারে ফাংশনে পাস করা

অ্যারে ফাংশনে আর্গুমেন্ট হিসেবে পাস করা যায়। এই প্রোগ্রামে ২-ডাইমেনশনাল অ্যারে ফাংশনে পাস করে এর উপাদানগুলো ডিসপ্লে করা হয়েছে।

এলগরিদম

শুরু
  ২D অ্যারে n[][] ফাংশন show()-এ পাস করুন
  show() ফাংশনে নেস্টেড ফর লুপ দিয়ে অ্যারে ট্রাভার্স করুন
শেষ

উদাহরণ কোড

#include <iostream>
using namespace std;

// ফাংশন প্রোটোটাইপ: দ্বিতীয় ডাইমেনশন বাধ্যতামূলক
void show(int n[][3]);

int main() {
    int n[4][3] = {
        {3, 4, 2},
        {9, 5, 1},
        {7, 6, 2},
        {4, 8, 1}
    };

    show(n);
    return 0;
}

void show(int n[][3]) {
    cout << "Printing Values: " << endl;
    for (int i = 0; i < 4; ++i) {
        for (int j = 0; j < 3; ++j) {
            cout << n[i][j] << " ";
        }
    }
}

আউটপুট

Printing Values: 3 4 2 9 5 1 7 6 2 4 8 1

নियम: ফাংশন প্যারামিটারে প্রথম ডাইমেনশন [] খালি রাখা যায়, কিন্তু দ্বিতীয় ডাইমেনশন (কলাম সংখ্যা) অবশ্যই উল্লেখ করতে হয়। কারণ কম্পাইলারকে রো-স্ট্রাইড (row stride) জানতে হয় মেমরি লেআউট বুঝতে। আরও ডাইমেনশন থাকলে শেষ ডাইমেনশন ছাড়া সব উল্লেখ করতে হয়।

আধুনিক বিকল্প: std::vector<std::vector<int>> বা std::span<int> (C++20) ব্যবহার করলে আকার পাস করার ঝামেলা নেই।

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

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

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

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