Wednesday, September 17, 2014

এ্যারে নিয়ে কিছু কথা

এ্যারে নিয়ে কথা বললে প্রথমে বলতে হয় এ্যারে কি। E. Balagurusamy স্যার তাঁর Programming in ANSI C বইতে লিথেছেন "An Array is a fixed-size sequenced collection of element of the same data type." BYRON S. GOTTFRIED স্যার তাঁর PROGRAMMING WITH C বইতে লিখেছেন ”Many applications require the processing of multiple data items that have common characteristics. In such situations it is often convenient to place the data items  into  an array, where  they  will  all  share the same name.” কিন্তু সমস্যা হলো আমি এতটা মেধাবী না যে এত বড় জ্ঞানীদের দাঁতভাঙ্গা ডেফিনেশন বুঝব। তাই আমি নিজের মত একটা সংজ্ঞা বানিয়ে নিয়েছি। আমার মতে এ্যারে হল একটা নামের মধ্যে একধরনের অনেকগুলো ডাটা রাথার পদ্ধতি। বুঝা গেলোনা? আচ্ছা ধরে নিন এ্যারে হল ”মুদি দোকানদারের বাকীর খাতা”। হ্যাঁ ঠিক তাই। যারা মুদি দোকানদারের বাকীর খাতা সর্ম্পকে কিছুই জানেন না তাদের বলছি, এই খাতার পাতার উপর দিকে একজনের নাম থাকে, তার নিচে একপাশে তারিখ অন্যপাশে সিরিয়ালে বিভিন্ন অংক লেখা থাকে। একটা তারিখের পাশে একটা অংক। এই অংকগুলো প্রতিনিধিত্ব করে ঐদিন ঐ ব্যা্ক্তির পণ্যধ্বংশের পরিমাণ। জিনিসটা অনেকটা এরকম-

মফিজ
01/10
100/-
02/10
50/-
03/10
200/-
এখন মফিজের নামের জায়গায় একটা ভেরিয়েবল বিবেচনা করুন, তারিখের ঘরকে বিবেচনা করুন এ্যারে এড্রেস আর টাকার ঘরকে বিবেচনা করুন এ্যারে এলিমেন্ট হিসেবে। এবার দেখুন কেমন হলো জিনিসটা-

int marks[3]
2
80
1
75
0
40
এখন দেখুন marks ভেরিয়েবলটিতে তিনটি মান রাখলাম যার সবগুলোই ইন্টিজার। আর [3] নির্দেশ করেে এই ভেরিয়েবলে কতগুলো মান থাকবে। এবার বুঝা গেল বালাগুরুস্বামী স্যারের ফিক্সড সাইজ কথাটার মর্ম? এবার মুদি দোকান থেকে আমাদের কম্পাইলারে ফিরে আসি। এ্যারে ডিক্লেয়ার করার পদ্ধতি হল-
type variable_name[size]
এক্ষেত্রে আমাদের মনে রাখতে হবে এ্যারে এ্যড্রেস শুরু হবে শুন্য থেকে এবং চলবে size-1 পর্যন্ত। কেন? তা আমার জানা নেই, Dennis MacAlistair Ritchie সাহেব হয়তো বলতে পারতেন। জানেন তো উনি সি ল্যাংগুয়েজের আবিস্কারক। এতক্ষন যে ধরনের এ্যারে নিয়ে কথা বললাম তাকে বলে ওয়ান ডাইমেনশনাল এ্যারে। এছাড়াও আছে টু ডাইমেনশনাল এ্যারে এবং মাল্টিডাইমেনশনাল এ্যারে। দেখা যাক এই বিদখুটে নামগুলোর চেহারা কেমন-

int marks[3][2]
2
25
80
1
39
75
0
95
40

0
1
Two dimensional array
ডিক্লারেশন এরকম-
type variable_name[row_size][column_size]

Multidimensional array কিরকম তা আমি নিজে আগে শিখে নিই তারপর বলব। অর্থাৎ ওয়ান ডাইমেনশনাল এ্যারে তে আমরা একটি কলাম পাচ্ছি ডাটা রাখার জন্য, টু ডাইমেনশনালে দুটি।এ্যারে সম্পর্কে আর একটা কথা, এ্যারে হচ্ছে একটি Derived Data Type. কারন এ্যারে গঠিত হয়েছে Primary Data Type কেই কিছুটা মডিফাই করে। এরকম আরো দুটি ডাটা টাইপ হলো Functions & Pointers.

আহ্ হা। আমার জ্ঞানের ঝুলি আবার ফুরিয়ে গেলো। আমি আমার ঝুলিতে মাল্টিডাইমেনশনাল এ্যারে বা অন্য কিছু নিয়ে ফিরে আসব। ততক্ষন পর্যন্ত ধন্যবাদ সবাইকে।

4 comments:

  1. আমার সংজ্ঞাটা এর চেয়েও সহজ। এ্যারে হল একটি মাল্টিস্টোরড বিল্ডিং। যেখানে বিল্ডিং এর নাম একটি এবং প্রত্যেক ফ্ল্যাটের জন্য "মূল নাম+ফ্ল্যাটের লোকেশান" দিয়ে নাম দেয়া হয়েছে।

    ReplyDelete
  2. Borgata Hotel Casino & Spa
    Find your way around 구리 출장마사지 the 시흥 출장마사지 casino, 목포 출장안마 find where everything 영주 출장안마 is located with a map. Borgata Hotel Casino & 익산 출장마사지 Spa is one of the best places to stay in Atlantic City.

    ReplyDelete