C++ Arrays
Introduction to C++ Arrays
एक array similar type (data type) की values का collection होता है। ये values sequence में होती है और contiguous memory locations (एक के बाद एक series में) में store की जाती है। ये सभी values एक ही नाम से represent और access की जाती है जिसे array का नाम कहते है। Array का नाम आप array declare करते समय define करते है।
Array की size fixed होती है और ये compile time पर (program के run होने से पहले) ही array को declare करते समय define की जाती है। जितनी array की size होती है आप उतने ही elements array में store कर सकते है।
उदाहरण के लिए आप बहुत से integer numbers एक नाम से store करने के लिए एक integer array create कर सकते है। C++ में आप char type के variable में एक बार में एक ही character store कर सकते है। लेकिन मान लीजिये आप किसी व्यक्ति का नाम store करना चाहते है तो आप एक character array create कर सकते है और उसमे आवश्यकता के अनुसार characters store कर सकते है। इसी प्रकार आप float type का array बनाकर उसमे float numbers store कर सकते है।
C++ में arrays create करने के 2 steps है।
- Declaring an array
- Initializing an array
इन दोनों steps के बारे में नीचे detail से दिया जा रहा है।
Declaring An Array
इस step में आप array का नाम, उसका type और उसकी size define करते है। Array declaration का general syntax नीचे दिया जा रहा है।
data-type array-name [size];
सबसे पहले आप array का type define करते है जैसे की int और char आदि। इसके बाद आप array का एक unique नाम देते है। इसके बाद आप array की size angular brackets में define करते है। इसको नीचे उदाहरण के द्वारा समझाया जा रहा है।
char HelloArray[5];
ऊपर दिया गया statement HelloArray नाम से array declare करता है। इस array में आप कोई भी 5 characters store कर सकते है।
Array को declare करते ही उसकी size के according continuous memory locations allot कर दी जाती है। इन memory location को index numbers से identify किया जाता है। Array की index हमेशा zero से शुरू होती है। इसलिए array का first element 0th index पर store होता है। इसी प्रकार array का second element first index पर store होता है।
यदि आपके array की size N है तो first element [0] index पर और last element [N-1] index पर stored रहता है। यानी की ऊपर दिए गए उदाहरण में HelloArray में जब आप values store करवाएंगे तो पहली value [0] index पर और आखिरी value [4] index पर stored होगी।
Initializing an Array
इस part में आप array में initial values store करवाते है। हालाँकि ऐसा आप array को declare करते समय भी कर सकते है। इसके लिए आप size declare करने के बाद assignment operator (=) लगाकर curly braces में values को comma से separate करके लिखते है। इसका syntax नीचे दिया जा रहा है।
data-type array-name[size] = {value1,value2,value3,....,valueN};
इसका उदाहरण नीचे दिया जा रहा है।
char HelloArray[5] = {'H','E','L','L','O'};
जैसा की आप ऊपर दिए गए उदाहरण में देख सकते है HelloArray को declare करने के साथ ही initialize भी किया गया है।
आप चाहे तो हर एक element को अलग से भी store करवा सकते है। इसके लिए आप index numbers को यूज़ करते है। सबसे पहले आप array का नाम लिखते है और उसके बाद वो index number [] angular brackets में लिखते है जिस location पर आप value store करना चाहते है। इसके बाद आप assignment operator लगाकर value लिखते है। यदि value character है तो उसे quotes में लिखा जायेगा। इसका syntax नीचे दिया जा रहा है। इसका syntax नीचे दिया जा रहा है।
array-name[index-number] = value;
उदाहरण के लिए आप यदि HelloArray में इस तरीके से value store करना चाहते है तो ऐसा आप इस प्रकार कर सकते है।
HelloArray[0] = 'H' ;
HelloArray[1] = 'E';
HelloArray[2] = 'L';
HelloArray[3] = 'L';
HelloArray[4] = 'O';
Taking Array Elements From User
आप चाहे तो array elements user से भी input करवा सकते है। इसके लिए आप loop का इस्तेमाल करते है। Loop को array की size के बराबर ही चलाया जाता है। फिर उस loop के अंदर आप cin» statement का प्रयोग करते हुए array elements को user से enter करवाते है।
मान लीजिये आप ऊपर दिए गए HelloArray के elements user से input करवाना चाहते है। ऐसा आप इस प्रकार कर सकते है।
cout<<"Please enter five character elements";
for(int i=0; i<=5;i++)
{
cin>>HelloArray[i];
}
Displaying Array Elements
Array elements को आप दो तरह से display कर सकते है। इन दोनों तरीकों के बारे में नीचे detail से दिया जा रहा है।
Displaying One Array Element at a Time
जिस प्रकार आप एक बार में एक array element को initialize करते है उसी प्रकार आप एक element को display भी कर सकते है। उदाहरण के लिए यदि आप HelloArray के elements को एक एक करके display करना चाहते है तो ऐसा आप इस प्रकार कर सकते है।
cout<<"First element is :"<<HelloArray[0];
cout<<"Second element is :"<<HelloArray[1];
cout<<"Third element is :"<<HelloArray[2];
cout<<"Fourth element is :"<<HelloArray[3];
cout<<"Fifth element is :"<<HelloArray[4];
Displaying Complete Array
यदि आप सभी array elements को एक साथ display करना चाहते है तो इसके लिए आप loop का इस्तेमाल करते है। Loop को array की size के बराबर चलाया जाता है। उदाहरण के लिए यदि आप सभी HelloArray elements को एक साथ display करना चाहते है तो ऐसा आप इस प्रकार कर सकते है।
cout<<"Array elements are";
for(int i=0;i<=5;i++)
{
cout<<HelloArray[i];
}
C++ में array के use का निचे एक complete उदाहरण दिया जा रहा है।
#include <iostream>
using namespace std;
int main()
{
char HelloArray[5];
cout<<"Please enter five character elements";
for(int i=0; i<=5;i++)
{
cin>>HelloArray[i];
}
cout<<"Array elements are";
for(int i=0;i<=5;i++)
{
cout<<HelloArray[i];
}
return 0;
}
ऊपर दिया गया program निचे दिया गया output generate करता है।
Please enter five character elements
5
4
3
2
1
Array elements are : 5 4 3 2 1
Two Dimensional Arrays
अभी तक आपने array में जितने भी elements input करवाये वो एक list की form में store हुए है। इस प्रकार के arrays को one dimensional arrays कहा जाता है। इस प्रकार के arrays में elements list के रूप में stored होते है और उसी रूप में display भी किये जाते है।
यदि आप चाहे तो data को tabular form में भी store कर सकते है और बाद में उसे एक table के रूप में present कर सकते है। ऐसे arrays को two dimensional arrays कहा जाता है।
Creating Two Dimensional Array
Two dimensional arrays को row और column के संदर्भ में declare किया जाता है। इसका general syntax निचे दिया जा रहा है।
data-type array-name [row][column];
जैसा की आप ऊपर दिए गए syntax में देख सकते है first angular brackets में rows की सँख्या define की जाती है और दूसरे angular bracket में columns की सँख्या define की जाती है।
उदाहरण के लिए यदि आप एक array declare करना चाहते है जिसमे 3 rows हो और 3 ही columns हो तो ऐसा आप इस प्रकार कर सकते है।
int NumArray[3][3];
Initializing Two Dimensional Arrays
Two dimensional arrays में value input करवाना बेहद आसान है। इसे और आसानी से करने के लिए आपको सबसे पहले अपने दिमाग में एक table की form बनानी चाहिए। इसके बाद आप जिस row के जिस column में value input करना चाहते है उनकी संख्या लिखते है।
उदाहरण के लिए यदि आप ऊपर दिए गए NumArray में पहली row के पहले column में value input करना चाहते है तो ऐसा आप इस प्रकार करेंगे।
NumArray[1][1] = 101;
इसी प्रकार यदि आप पहली row के दूसरे column में value input करवाना चाहते है तो ऐसा आप इस प्रकार करेंगे।
NumArray[1][2] = 102;
यदि आप user से input लेना चाहते है तो इसके लिए आप 2 loops का इस्तेमाल करते है। पहला लूप rows को iterate करता है और दूसरा लूप columns को iterate करता है। इसका उदाहरण निचे दिया जा रहा है।
cout<<"Please enter array elements";
for(int i=0;i<3;i++) // It will iterate rows, i represents row number
{
for(int j=0;j<3;j++) //It will iterate columns, j represents column number
{
cin>>NumArray[i][j]; //Enter value in j number column of i number row
}
}
Displaying Two Dimensional Array Elements
यदि आप एक बार में एक element display करना चाहते है तो ऐसा आप इस प्रकार कर सकते है।
cout<<NumArray[1][1]; //Will display first row first column value
यदि आप सभी array elements को display करना चाहते है तो इसके आपको 2 loops इस्तेमाल करने होंगे। इसका उदाहरण निचे दिया जा रहा है।
cout<<"Array elements are :"<<endl;
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
cout<<NumArray[i][j];
}
}
Two dimensional array का complete उदाहरण निचे दिया जा रहा है।
#include <iostream>
using namespace std;
int main()
{
int NumArray[3][3];
cout<<"Please enter array elements";
for(int i=0;i<3;i++) // It will iterate rows, i represents row number
{
for(int j=0;j<3;j++) //It will iterate columns, j represents column number
{
cin>>NumArray[i][j]; //Enter value in j number column of i number row
}
}
cout<<"Array elements are :"<<endl;
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
cout<<NumArray[i][j]<<"\t";
}
cout<<endl;
}
return 0;
}
ऊपर दिया गया program निचे दिया गया output generate करता है।
Please enter array elements
9
8
7
6
5
4
3
2
1
Array elements are :
9 8 7
6 5 4
3 2 1