শুরু হোক প্রোগ্রামিং এ পদ যাত্রা চলুন শিখি প্রোগ্রামিং ইন সি অধ্যায় সাত  Array অ্যারে

0
244

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

অ্যারে ডিক্লেয়ারেশন ও ইনিশিয়ালাইজেশনঃ

অ্যারে ডিক্লায়ার করতে প্রথমে, ডাটার ধরণ অ্যারের নাম [অ্যারের সাইজ বা আকার]; শেষে সেমি কোলন।

DataType ArrayName [ArraySize]; উদাহরণঃ int A[10];   

অ্যারেতে ভেরিয়েবল ইনিশিয়ালাইজেশন বা সারাসরি রাখতে এভাবেও লেখা যায় int A[5]={3,4,5,6,7}; এখানে অ্যারে সাইজ পাঁচ তাই পাঁচটি মান রাখা যাবে। অ্যারে এর ইন্ডেক্স সংখ্যা শূন্য থেকে শুরু হয়ে সাইজের চেয়ে এক কম পর্যন্ত হয়ে থাকে অর্থাৎ এখানে চার পর্যন্ত। 

int A[5]={3,4,5,6,7}; এই অ্যারেতে যথাক্রমে, 

A[0]=3

A[1]=4

A[2]=5

A[3]=6

A[4]=7

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

Array এর ধরণঃ

  1. One Dimensional Array. (এক মাত্রিক অ্যারে )
  2. Two Dimensional Array. (দুই মাত্রিক অ্যারে )
  3. Multi-dimensional Array. (বহু মাত্রিক অ্যারে )

One Dimensional Array: 

One Dimensional Array হচ্ছে শুধুমাত্র Row রো বা সারি ভাবে একদিকে ভেরিয়েবল রাখা। আমরা উপরে যা অ্যারে নিয়ে আলোচনা করেছি তাই One Dimensional Array । যেমনঃ int a[3]={10,20,30};

a[0]=10, a[1]=20, a[2]=30 ।

Number Print Program:

নির্দিষ্ট সংখ্যা পর্যন্ত ইনপুট নেয়া ও আউটপুটে প্রিন্ট করার প্রোগ্রাম।

#include<stdio.h>
int main()
{
int a[100];
int i,n;

scanf(“%d”, &n);

for(i=0; i<n; i++)
scanf(“%d”, &a[i]);
for(i=0; i<n; i++)
printf(“%d “, a[i]);
return 0;
}

অ্যারে দ্বারা ডেসিমাল থেকে বাইনারি নাম্বার কনভার্টঃ 

#include<stdio.h>
int main()
{
int n,a[100],i,j;
scanf(“%d”, &n);
i=1;
while(n!=0)
{

a[i]=n%2;
n=n/2;
i++;
}

for(j=i-1; j>=1; j–)
printf(“%d”, a[j]);
return 0;
}

Two Dimensional Array: 

Two Dimensional Array হচ্ছে ম্যাট্রিক্সের মত, ম্যাট্রিক্সকে যেমন সারি এবং কলামের মাধ্যমে টেবিল দ্বারা উপস্থাপন করা হয় । তেমনি সি প্রোগ্রামিং এ দুই মাত্রিক অ্যারেতে সারি ও কলাম দ্বারা ব্যবহার করা হয়। উদাহরণঃ int a[3][3] । Two Dimensional Array ডিক্লেয়ার করার সময় অবশ্যই রো বা সারি আগে তারপর কলাম সংখ্যা বসাতে হবে  অর্থাৎ ডাটা টাইপ, অ্যারের নাম, সারি বা রো, তারপর কলাম সংখ্যা বসাতে হবে। Two Dimensional Array তে ভেরিয়েবল ইনিশিয়ালাইজেশন বা সারাসরি রাখতে এভাবেও লেখা যায় int a[3][3]={{1,2,3},{4,5,6},{7,8,9}} এখানে ডাটা গুলো সারি বা রো ভাবে রাখা হয়েছে।

উপরে ছবিটি একটি দুই মাত্রিক অ্যারে int a[3][4] । যেখানে সারি ও কলাম সংখ্যা গুন করে ডাটা রাখার ঘর সংখ্যা বের করা যায়। ৩*৪=১২ টি ডাটা রাখা যায়।

Example Program of two dimensional Array:

দুইটি দুই মাত্রিক অ্যারের মান গুলো যোগ করে যোগফল একটি দুই মাত্রিক অ্যারেতে রাখার প্রোগ্রামঃ

#include<stdio.h>
int main()
{

int a[10][10], b[10][10], c[10][10],i,j;
for(i=1; i<=3; i++){
for(j=1; j<=3; j++)
scanf(“%d %d”, &a[i][j], &b[i][j]);
}
for(i=1; i<=3; i++)
{
for(j=1; j<=3; j++)
{
c[i][j]=a[i][j]+b[i][j];
printf(“%d “, c[i][j]);
}
printf(“\n”);
}

return 0;
}

Multi-dimensional Array:

Multi-dimensional Array হচ্ছে দুই মাত্রিক অ্যারের উপরে 3D,4D,5D etc. আমরা Multi-dimensional Array বুঝতে 3D, 4D Array দেখবো। দুইের অধিক যেহেতু তাই 3D তে ৩টা অ্যারে থাকবে। int a[3][3][3]; এখানে শেষের অ্যারে দুইটি যথাক্রমে সারি এবং কলাম থাকবে সবসময় । (3D is Number of 2D array.)

 

উপরে ৩ মাত্রিক অ্যারেতে একটি ভেলু রাখা আছে, a[2][2][0]=0; (2 No 2D array, 2 No row and 0 No Coloum)

4D Array int a[3][3][3][3];  (4D array is Number of 3D array.)  এভাবে দেখানো যায়ঃ

সবাইকে শুভ কামনা জানিয়ে, অ্যারে অধ্যায়ের আলোচনা এখানেই শেষ করছি। পরবর্তী পোষ্ট পড়ার আমন্ত্রণ জানাচ্ছি । হ্যাপি প্রোগ্রামিং ।

Series Navigation<< শুরু হোক প্রোগ্রামিং এ পদ যাত্রা চলুন শিখি প্রোগ্রামিং ইন সি অধ্যায় ছয়- Decision making and loopingশুরু হোক প্রোগ্রামিং এ পদ যাত্রা চলুন শিখি প্রোগ্রামিং ইন সি অধ্যায় আট String স্ট্রিং >>

Please comment Here (ভাল লাগলে কমেন্ট করুন)