Array (multi-dimensional)

Array (multi-dimensional)

ক্যারিয়ার গাইডলাইন নাদিম নওশাদ জুন ২০২৩

আসসালামু আলাইকুম। 

কেমন আছো তোমরা সবাই? আশা করি ভালো আছো। তোমরা কি এমন কোনো কিছুর নাম বলতে পারবে, যা খরচ করলে পরিমাণে বেড়ে যায়? কী মাথায় কিছু আসছে? নাকি এখনো চিন্তা করে কূলকিনারা খুঁজে বেড়াচ্ছো। অনেকেই হয়তো অনেক কিছুর নাম চিন্তা করে ফেলেছো। কিন্তু এর মধ্যে সবচেয়ে গুরুত্বপূর্ণ যে বিষয়টা তা হলো জ্ঞান। আজ পর্যন্ত মানুষের যত উন্নতি সাধিত হয়েছে তার মূলে আছে জ্ঞানের আদান-প্রদান। মনে করো একজন ব্যক্তি ৩০ বছর গবেষণার পর আবিষ্কার করলো যে পৃথিবী সূর্যের চারিদিকে ঘোরে। সে যদি কাউকে বিষয়টা না জানায় তাহলে মানুষের কাছে বিষয়টা অজানা থাকবে। আমরা সবাই পিছিয়ে থাকবো। সেই জন্য আমাদের উচিত মানুষের সাথে জ্ঞানের আদান-প্রদান করা। 

আচ্ছা অনেক জ্ঞান দেওয়া হলো, এবার কাজের কথায় আসা যাক। গত পর্বে আমরা array Gi syntax, array declaration, array index printing নিয়ে আলোচনা করেছিলাম। ভুলে গেছো নাকি? যদি ভুলে গিয়ে না থাকো তবে very good। আর যদি ভুলে গিয়ে থাকো তবে চলো আরেকবার একটু রিভিশন দিয়ে আসা যাক। single variable  এ multiple value store করতে মূলতো Array ব্যবহার করা হয়। Array এর syntax খানিকটা এমন 

variable_type variable_name [size] = {„„};

array এর এক একটা ঘরকে index বলে। আমরা array declare করার সময় যে size দিয়ে দেবো তার থেকে বেশি value আমরা array তে ব্যবহার করতে পারবো না।  

আজকে আমরা multi-dimensional Array নিয়ে আলোচনা করবো। Multi-dimensional Array শুনে কিছু কি বুঝতে পারছো? হ্যাঁ, ঠিকই ধরেছো। multi-dimensional বলতে বোঝায় আমরা একটা array এর মধ্যে আরও array রাখতে পারবো। বুঝতে সমস্যা হচ্ছে? চলো একটা উদাহরণ দিয়ে বোঝা যাক। মনে করো তোমার কাছে একটা array আছে –

Arr[5] = {a,b,c}

এখন যদি আমরা Arr array কে 2-dimensional array তে পরিবর্তন করতে চাইলে Arr array এর মধ্যে আরও দুটো array থাকবে। মানে

Arr [2][3]= { {a,b,c}  {d,e,f]} }

ওপরের উদাহরণ থেকে বোঝা যায় যে, 2D (2-dimensional) array তে ২টা আলাদা আলাদা array একটা array এর মধ্যে আছে। ঠিক তেমনই ভাবে 3D array আমরা বানাতে চাইলে একটা array এর মধ্যেই আরেকটা array, তার মধ্যে আবার আলাদা array থাকবে।

Multi-dimensional array এর syntax–

data_type array_name [dimension_1] [dimension_2]„„„ = { {{„„„}„„„}{„„„} }

data type বলতে- আমরা কোন ধরনের data array তে store করতে চাচ্ছি তা define করতে হবে। তোমাদের মনে কি এমন প্রশ্ন জাগছে- যেহেতু আমরা একটা array এর মধ্যেই অনেকগুলো array রাখছি, সেহেতু আমরা ভিন্ন ভিন্ন array এর জন্য ভিন্ন ভিন্ন data type নিতে পারবো কি না? না, আসলে একটা array তে এক type এর data রাখতে পারি। যেহেতু এখানে একটা array এর মধ্যে অনেকগুলো array থাকে তাই c++ এর multi-dimensional array তে data type একই হয় । 

array name এর সাথে array এর size ও দিয়ে দিতে হয়। যদি array_one[3][5]  লেখা হয়, তাহলে এর মানে array টা 2D array এবং এখানে মোট ৩টা array থাকবে যার প্রতিটি array এরsize 5। আবার অন্যভাবে বলতে পারো arrar_one এ ৩টা row আর ৫টা Column থাকবে। দেখতে খানিকটা এমন হবে –

int array_one[3][5] = { {1,2,3,4,5},

{6,7,8,9,10},

{11,12,13,14,15} }

এখন যদি আমরা এই multi dimensional array  কে print করতে চাই, তাহলে কীভাবে করতে পারি বলতে পারো? মনে আছে আমরা loop নিয়ে পড়াশোনা করেছিলাম। হ্যাঁ, ঠিকই ধরেছো। আমরা loop দিয়ে multi dimensional array print করতে পারি ।

ওপরের array_one print করার জন্য আমাদের ২টা loop চালাতে হবে যেহেতু এটা একটা 2D array। তার জন্য code টা হবে –

int array_one[3][5]={ {1, 2, 3, 4, 5},

                          {6, 7, 8, 9, 10},

                          {11, 12, 13, 14, 15}  };

    for(int i=0; i<3; i++){

        for(int j=0; j<5; j++){

            cout<<array_one[i][j]<<” “;

        }

        cout<<endl;

    }

ওপরের code এর প্রথম for loop এ row যতটা, ততবার loop চলবে। আর দ্বিতীয় for loop  এ column যতটা, loop ততবার চলবে।


আশা করি আমরা multi-dimensional array এর সম্পর্কে প্রাথমিক ধারণা লাভ করতে পেরেছি। আমাদেরকে এখন বেশি বেশি practices করতে হবে array related যেকোনো problem। পরবর্তী পর্বে আমরা pointer নিয়ে আলোচনা করবো ইনশাআল্লাহ।

আপনার মন্তাব্য লিখুন
অনলাইনে কিশোরকন্ঠ অর্ডার করুন
লেখকের আরও লেখা

সর্বাধিক পঠিত

আর্কাইভ

আরও পড়ুন...

CART 0

আপনার প্রোডাক্ট সমূহ