Array নিয়ে একটা বিস্তারিত ধারনা প্রয়োজন ।

asked 23 Feb '17, 16:55

muzammel's gravatar image

muzammel
434

retagged 24 Feb '17, 11:25

menon's gravatar image

menon
4.7k335

1

আপনার প্রশ্নটির জন্য সবচেয়ে গুরুত্বপূর্ণ ট্যাগ হচ্ছে 'অ্যারে'!

(23 Feb '17, 18:47) mahrahat

আপনি যখন int num; লিখেন তখন এই num ভেরিয়েবলের মধ্যে কিন্তু কেবল মাত্র ১ তা int type ভেলু রাখতে পারবেন । এখন আপনার যদি এই একই রকম ৫ টা int type ভেরিয়েবল লাগে তখন আপনি কি করবেন । এই কাজ তা আপনি এই ভাবে করতে পারেন ।

int num1, num2, num3, num4, num5;

৫ টার জন্য ঠিক আছে কিন্তু আপনার যদি এইরকম ১০০০ টা ভারিয়েবল লাগে এবং তখন আপনি যদি এইভাবে কমা দিয়ে দিয়ে ১০০০ তা লিখতে যান তবে সেটা অনেক সময় নষ্ট হবে । আর এই সমস্যা সমধান করার জন্যই অ্যারে নিয়ে আসা হয়েছে । আপনার যদি ১০০ টা int type ভেরিয়েবল লাগে তবে আপনি এই ভাবে লিখতে পারেন ।

int ara_num[100]; // array of 100 int
double ara_d[10]; // array of 10 double number

এখন প্রশ্ন হল এই অ্যারে তে ভেলু রাখা যায় । এবং সেগুলো নিয়ে কাজ করা যায় । অ্যারে এর প্রতিটি ডাটা নিয়ে আলাদা আলাদা করে কাজ করার জন্য ইনডেক্স ব্যবহার করা হয় । মনে রাখতে হবে যে অ্যারে এর ইনডেক্স শূন্য থেকে শুরু হয়ে থাকে ।

অ্যারে তে ডাটা রাখতে পারেন এইভাবে ।

size_of_array = 100;
for(i = 0; i < size_of_array; i++) {
   scanf("%d", &ara_num[i]);
}

আমরা আমাদের অ্যারে তে ১০০ টা int ডাটা রাখতে চাই এইজন্য উপরে ০ থেকে ৯৯ পর্যন্ত লুপ চালিয়ে প্রতিবার ইনপুট নিয়েছি । এখন আমরা যদি এই ভেলু গুলি প্রিন্ট করে দেখতে চাই একই ভাবে লুপ চালিয়ে প্রিন্ট করতে কবে ।

for(i = 0; i < size_of_array; i++) {
   printf("%d ", ara_num[i]);
}

অ্যারে এর ক্ষেত্রে খুব কমন যে সমস্যা হয় সেটা হল ধরেন আপনি ৫ সাইজর একটা অ্যারে লিখেছন । এই ভাবে int a[5]; এখন আপনি a[6] দিয়ে ৬ নং ডাটা কে অ্যাক্সেস করতে চাচ্ছেন । তখন আপনি Segmentation Fault এরর খাবেন । কারণ আপনার অ্যারে সাইজ ৫ কিন্তু আপনি এর বাহিরের মেমরি কে অ্যাক্সেস করতে চাচ্ছেন ।

এই গুলো হল অ্যারে সম্পর্কে একদম প্রথমিক কথা । আরও ভাল ভাবে জানার জন্য আপনি গুগল করে শিখে নিতে পারেন বা কোন বই ফলো করতে পারেন ।

ধন্যবাদ :)

permanent link

answered 24 Feb '17, 04:02

menon's gravatar image

menon
4.7k335

1

অ্যারেতে ডাটা নেয়ার ক্ষেত্রে প্রথমেই লুপ দিয়ে উদাহরণ না দেখিয়ে, দুই একটা ম্যানুয়াল ইনডেক্সিং এর উদাহরণ দেখিয়ে তারপর লুপ দিয়ে দেখালে মনে হয় ভাল হবে। সেক্ষেত্রে নোভিসদের বুঝতে হয়তো সুবিধা হবে।

যাইহোক ভাল উত্তর!

(24 Feb '17, 13:36) Ashfaqur Rahman

ধন্যবাদ @Ashfaqur Rahman :)

(24 Feb '17, 13:39) menon
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×90
×63
×4

question asked: 23 Feb '17, 16:55

question was seen: 960 times

last updated: 24 Feb '17, 13:39