This post is also available in: English
ऐरे क्या है?
हर दिन आपके आस-पास ऐरे होते हैं चाहे आप इसे महसूस करें या नहीं। एक ऐरे एक पैकेट में बिस्कुट का एक समूह, अंडे या टोकरी में रखी शीतल पेय की बोतलें आदि हो सकती है।

आइए देखें कि कंप्यूटर विज्ञान में ऐरे का क्या अर्थ है। एक ऐरे का अर्थ है वस्तुओं या संख्याओं का एक क्रम, जो अक्सर पंक्तियों और स्तंभों में व्यवस्थित होता है। ऐरे अक्सर गिनती और गणना को आसान बनाते हैं।
पंक्तियाँ (रोज़) क्षैतिज रेखाएँ हैं जो बाएँ से दाएँ जाती हैं। स्तंभ (कॉलम) ऊर्ध्वाधर रेखाएं हैं जो ऊपर से नीचे तक जाती हैं। एक ऐरे में व्यवस्थित की गई चीजें एक आयताकार या चौकोर आकार बनाती हैं।

इस लेख में “बच्चों के लिए ऐरे सरल भाषा में समझाए गए”, हम कंप्यूटर विज्ञान में ऐरे के उपयोग और उनके महत्व पर चर्चा करेंगे।
कंप्यूटर विज्ञान में ऐरे
कंप्यूटर विज्ञान में, एक ऐरे एक डेटा स्ट्रक्चर है जिसमें तत्वों (मान या चर) का संग्रह होता है, प्रत्येक को कम से कम एक सरणी अनुक्रमणिका या कुंजी द्वारा पहचाना जाता है। यह लीनियर डेटा स्ट्रक्चर का सबसे सरल प्रकार है। एक ऐरे एक ही प्रकार (पूर्णांक, फ्लोट, स्ट्रिंग, आदि) के कई मान रख सकती है। ऐरे के भीतर तत्वों तक पहुँचना बहुत तीव्र होता है।
एक ऐरे का आकार सामान्यतः पहले से निश्चित होता है। शुरुआत में ऐरे के आकार को परिभाषित करने के बाद, एक नया बड़ा ऐरे बनाए बिना और सभी मानों को नए ऐरे में कॉपी किए बिना ऐरे के आकार को बढ़ाना संभव नहीं हो सकता है। ऐरे खोज (सर्च) और छँटाई (सॉर्टिंग) की प्रक्रिया को आसान और कुशल बनाती है।
आयामों (डाइमेंशन) के आधार पर ऐरे के प्रकार
एक ऐरे को एक आयामी (1-डी) ऐरे या बहु-आयामी (एन-डी) ऐरे के रूप में वर्गीकृत किया जा सकता है। बहु-आयामी ऐरे में, सबसे आम दो आयामी (2-डी) ऐरे है।
एक आयामी ऐरे
संकल्पनात्मक रूप से आप एक-आयामी ऐरे को एक पंक्ति के रूप में सोच सकते हैं, जहां तत्व एक के बाद एक संग्रहीत होते हैं। एक आयामी ऐरे अपने तत्वों तक पहुँचने के लिए एक सूचकांक (इंडेक्स) का उपयोग करती है।

एक आयामी ऐरे में एक तत्व तक पहुँचना
एक ऐरे के तत्वों को एक ऐरे नाम निर्दिष्ट करके पहुँचा जा सकता है जिसके बाद वर्ग कोष्ठक के अंदर सबस्क्रिप्ट या अनुक्रमणिका (यानी, []) है। ऐरे सबस्क्रिप्ट या इंडेक्स 0 से शुरू होता है, यानी, ‘a’ नामक एक-आयामी ऐरे का पहला तत्व a[0] द्वारा दर्शाया जाता है। यदि किसी ऐरे का आकार 10 है, तो अंतिम तत्व इंडेक्स 9 पर है और a[9] के रूप में एक्सेस किया जाता है। सामान्य तौर पर, आकार ‘n’ की एक सरणी के मामले में, अंतिम तत्व a[n – 1] होता है। पहली वैध सबस्क्रिप्ट (यानी, 0) को निचली (लोअर) बाउंड के रूप में जाना जाता है, जबकि अंतिम मान्य सबस्क्रिप्ट को ऊपरी (उपपर) बाउंड के रूप में जाना जाता है। (0 सहित कोई भी पॉजिटिव पूर्णांक एक मान्य सबस्क्रिप्ट है)।
C++ में एक-आयामी ऐरे घोषित करना: C++ में एक-आयामी ऐरे घोषित करने का सामान्य रूप है
data_type array_name[array_size];
पूर्णांक प्रकार और आकार 10 के तत्वों वाले ‘a’ नाम के साथ एक ऐरे घोषित करने के लिए है
int a[10];
C++ में 1-आयामी ऐरे को इनिशियलाइज़ करना: आप डिक्लेरेशन के समय किसी ऐरे को वैल्यू असाइन कर सकते हैं। इस तरह की प्रक्रिया की घोषणा को एक ऐरे इनिशिअलिज़शन करना कहा जाता है।
C++ में एक-आयामी ऐरे में मानों को प्रारंभ करने का सामान्य रूप है
data_type array_name[array_size] = {comma_separated_element_list};
10 तत्वों वाले पूर्णांक प्रकार के डेटा के ऐरे नाम ‘a’ में मान घोषित करने और आरंभ करने का एक उदाहरण है
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
C++ में एक-आयामी सरणी से तत्वों तक पहुंचना
#include<iostream.h>
#include<conio.h>
void main()
{
clrscr();
int a[5] = {1, 2, 3, 4, 5};
int i;
for(i=0; i<5; i++)
{
cout<<"a["<<i<<"] = "<<a[i]<<"\n";
}
}
एक-आयामी ऐरे में 10 मानों को स्वीकार करने और उनका औसत प्रदर्शित करने का एक और उदाहरण यहां दिया गया है।
#include<iostream.h>
#include<conio.h>
void main()
{
clrscr();
int a[10];
int i;
int sum=0, avg=0;
cout<<"Enter 10 array elements: ";
for(i=0; i<10; i++)
{
cin>>a[i];
sum = sum + a[i];
}
cout<<"\nThe array elements are: \n";
for(i=0; i<10; i++)
{
cout<<a[i]<<" ";
}
cout<<"\n\nSum of all elements is: "<<sum;
avg = sum/10;
cout<<"\nAnd average is: "<<avg;
}
दो आयामी ऐरे
संकल्पनात्मक रूप से आप दो-आयामी ऐरे को निश्चित पंक्तियों और स्तंभों के मैट्रिक्स के रूप में सोच सकते हैं। एक द्वि-आयामी ऐरे अपने तत्वों तक पहुँचने के लिए दो अनुक्रमणिका का उपयोग करती है।

दो आयामी ऐरे में एक तत्व तक पहुँचना: एक ऐरे के तत्वों को एक ऐरे नाम निर्दिष्ट करके पहुँचा जा सकता है जिसके बाद दो सबस्क्रिप्ट या वर्ग कोष्ठक के अंदर अनुक्रमणिका (यानी, [])। ऐरे सबस्क्रिप्ट या इंडेक्स 0 से शुरू होता है (जिसे लोअर बाउंड भी कहा जाता है) और (n -1) (जिसे अपर बाउंड भी कहा जाता है) तक जाता है।
यदि ‘x’ सरणी नाम है, तो x[i][j], i th रो (पंक्ति) और j th कॉलम (स्तम्भ) में मौजूद तत्व को प्राप्त करता है। उदाहरण के लिए, x[2][1] का अर्थ है दूसरी पंक्ति और पहले स्तम्भ में मौजूद तत्व। (याद रखें, पंक्ति और स्तंभ सूचकांक 0 से शुरू होते हैं। इसलिए, x[2][1] का अर्थ वास्तव में तीसरी पंक्ति और दूसरा स्तंभ है)।
C++ में द्वि-आयामी ऐरे घोषित करना: C++ में द्वि-आयामी ऐरे घोषित करने का सामान्य रूप है
data_type array_name[array_row_size][array_col_size];
पूर्णांक प्रकार और पंक्ति आकार 2 और स्तंभ आकार 5 के तत्वों वाले ‘a’ नाम के साथ एक ऐरे घोषित करने के लिए है
int a[2][5];
C++ में दो-आयामी ऐरे इनिशियलाइज़ करना: आप घोषणा के समय किसी सरणी को मान निर्दिष्ट कर सकते हैं। इस तरह की प्रक्रिया की घोषणा को एक ऐरे इनिशिअलिज़शन करना कहा जाता है।
C++ में द्वि-आयामी ऐरे में मानों को प्रारंभ करने का सामान्य रूप है
data_type array_name[array_row_size][array_col_size] = {{comma_separated_element_list}};
2 पंक्तियों और 5 स्तंभों में 10 तत्वों वाले पूर्णांक प्रकार के डेटा के ऐरे नाम ‘a’ में मान घोषित करने और आरंभ करने का एक उदाहरण है
int a[2][5] = {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}};
C++ में द्वि-आयामी सरणी से तत्वों तक पहुंचना
#include<iostream.h>
#include<conio.h>
void main()
{
clrscr();
int a[2][5] = { {1, 2, 3, 4, 5}, {6, 7, 8, 9, 10} };
int i, j;
for(i=0; i<2; i++)
{
for(j=0; j<5; j++)
{
cout<<"a["<<i<<"]["<<j<<"] = "<<a[i][j]<<"\n";
}
}
}
द्वि-आयामी ऐरे में 10 मानों को स्वीकार करने और उनकी औसत पंक्ति-वार, स्तंभ-वार प्रदर्शित करने का एक और उदाहरण यहां दिया गया है।
#include<iostream.h>
#include<conio.h>
void main()
{
clrscr();
int arr[2][5];
int i, j;
int sum=0, avg_r=0, avg_c=0, avg=0;
cout<<"Enter 2*5 array elements: ";
for(i=0; i<2; i++)
{
for(j=0; j<5; j++)
{
cin>>arr[i][j];
}
}
cout<<"\nThe array elements are: \n";
for(i=0; i<2; i++)
{
for(j=0; j<5; j++)
{
cout<<arr[i][j]<<" ";
}
cout<<"\n";
}
for(i=0;i<2;i++)
{
sum=0;
for(j=0;j<5;j++)
{
sum=sum+a[i][j];
}
avg_r=sum/5;
cout<<”\n Row-wise total for “ << i+1 << “ row is “ <<avg_r;
}
for(j=0;i<5;j++)
{
sum=0;
for(i=0;i<2;i++)
{
sum=sum+a[i][j];
}
avg_c=sum/5;
cout<<”\n Column-wise total for “ << i+1 << “ row is “ <<avg_r;
}
sum=0;
for(i=0;i<2;i++)
{
for(j=0;j<5;j++)
{
sum=sum+a[i][j];
}
}
avg=sum/10;
cout<<”\n Average = “ <<avg;
}