What is Array in C++ in Hindi - C++ में Array क्या है?

  • C++ में Array एक Data structure है जिसका उपयोग एक ही प्रकार के Data type वाले elements को क्रम से Store करने के लिए किया जाता है।
  • इन elements को उसके position या index के द्वारा access किया जाता है जो 0 से शुरू होकर क्रमिक रूप से बढ़ती जाती है।
  • इसका मतलब है की आप Array में elements की position या index को जानकर उन elements को आसानी से ढूंढ और पुनः प्राप्त कर सकते हैं
  • Array की size fixed रहती है इसका अर्थ है कि Array के declaration के समय उसके elements की संख्या पहले से निर्धारित रहती है।
  • अतः Arrays आपको एक Single name के अन्तर्गत कई Values को store करने और उसमें बदलाव लाने की सुविधा देता है जिससे संबन्धित Data को access करना और organize करना सरल हो जाता है।

Example:
int marks[5];


ऊपर के Example में 'int', Data type है 'marks', Array का नाम है तथा [5], Array की size है तथा 0 से 5, Array के Element को Access करने के लिए दिया गया
 
Index Value है जैसे हम 77 element को Access करना चाहते है तो हम marks[3] का Use करेंगे और 56 के लिए marks[4]

C++ में Arrays का Use क्यों करते है?

C++ में Array, Data के Collections को कुशलतापूर्वक Manage करने के लिए शक्तिशाली tools के रूप में कार्य करते हैं। अतः C++ में Array का उपयोग किए जाने के निम्न कारण है।

Array का उपयोग निम्न कारणों से किया जाता है।
1) एक वेरिएबल में कई वैल्यू को रखने के लिए

 2) कई अलग-अलग variables का उपयोग करने से बचे रहने के लिए। 

3) आप इंडेक्स का उपयोग करके वैल्यू को प्राप्त कर सकते हैं। 

4) आप array के साथ कार्य करने के लिए loops का उपयोग कर सकते हैं। 

5) यह आपके कोड को छोटा और आसान बनाता है। 

6) आप आसानी से sorting और searching कर सकतें है।

7) यह संबंधित डाटा को एक साथ रखने में मदद करता है।

8) यह fixed-size की data के लिए अच्छा है।

9) आपकी मेमोरी और समय बचाती है। 

10) यह आपके प्रोग्राम को साफ सुथरा बनाती है। 
 


Types of Array in C++ - C++ मे Array के प्रकार

Arrays,  Dimension के आधार पर दो प्रकार के होते है
1) Single Dimensional Array
2) Multi Dimensional Array

 

Single Dimensional /One Dimensional Array

  • C++ में Single Dimensional Array
  • एक ही प्रकार के Data type वाले elements के क्रम को Store करने का सीधा तरीका है।
  • Array में प्रत्येक item या element को एक Numerical index जो 0 से शुरू होता है का Use करके Access किया जा सकता है।
  • जब आप एक Array का निर्माण करते हैं तब आप array का जो आकार निर्धारित करते हैं वह Program के execution के दौरान fixed रहता है
  • Array Data को सुव्यवस्थित रूप से व्यवस्थित करने में मदद करती है जिससे Items को क्रम में व्यवस्थित करना, विशिष्ट elements को ढूंढना या गणना करना जैसे कार्य आसान हो जाता है।

Single Dimensional/One Dimensional Array को Declare करना

C++ में Single Dimensional Array को निम्न Syntax का Use करके Declare किया जा सकता है

Syntax
datatype array_name [size-of-array];

ऊपर Syntax में
datatype:
यह Array द्वारा Store किए जाने वाले elements का Data type है यह कोई भी C++ का Valid data type जैसे 'int',  'float', 'double', 'char' आदि हो सकते है

array_name:
यह Array variable को दिया गया नाम है जिसे बनाने के लिए C++ में variables के नामकरण के नियमो का अनुसरण करना होता है

[size-of-array ]:
यह Array के आकार को specify करता है अर्थात इसमें elements की संख्या जिसे हम Array में रख सकते है, के size के आधार पर निर्धारित होता है

Example:
int marks[5];


Single Dimensional/One Dimensional Array को Initialize करना

यदि हमे Array की प्रारंभिक values पता है तो हम Array को Declare करते समय ही उसे Initialize कर सकते हैं

Syntax:
data_type array_name[array_size] = {element 1, element2, element3,....}

Example:
int marks [5] ={67,54,78,77,86};

ऊपर के Example में marks नामक Array का निर्माण किया गया है जिसका Data Type int होने से यह 2 bytes लेगा तथा Array की Size 5 होने के कारण यह Memory में 10 bytes स्थान  Reserve करेगा 

प्रत्येक Student के marks को निम्न प्रकार से Access किया जा सकता है
marks [0] = 67
marks [1] = 54
marks [2] = 78
marks [3] = 77
marks [4] = 86


Single Dimensional/One Dimensional Array के Elements को Access करना 

C++ में Single-dimensional array के elements को Access करना सीधा है 
आप उनके Index का Use करके Array के अलग अलग elements को Access कर सकते हैं

इसमें प्रत्येक element को Square bracket [] के भीतर उसके Index का उपयोग करके Access किया जाता है 

Syntax:
array_name[index];

Example:
marks[i];
या
int getElement = marks[3];

Program for One -Dimensional Array
#include<iostream>
using namespace std;
int main() 
{
    int n;
    cout<<"Enter the value of n: "<<endl;
    cin>>n;
    int marks[n];
    cout<<"Enter the marks of students:"<<endl;
   for (int i = 0; i < n; i++) 
      {
       cout<<"Marks are : ";
       cin>>marks[i];
      }  
 
 cout<<" Student's Marks are:"<<endl;
    for (int i = 0; i < n; i++) 
    {
        cout<<marks[i]<<endl;
    }
    cout<<endl;
    return 0;
}


Output:
Enter the value of n: 
5
Enter the marks of students:
Marks are : 67
Marks are : 78
Marks are : 80
Marks are : 94
Marks are : 70
 Student's Marks are:
67
78
80
94
70

Explanation:
1) सबसे पहले Program में Students के numbers को Store करने के लिए एक integer `n` declare किया जाता है 

2) अब User से `n` की value input के रूप में ली जाती है
  cout << "Enter the value of n: " << endl;
   cin >> n;
 
3) एक Array `marks` नाम से `n' Size देकर Students के marks को Store करने के लिए बनाया जाता है
   int marks[n];

4) अब Program में User से प्रत्येक Student के लिए marks की Value enter करवाई जाती है और उसे `marks` array मे Store किया जाता है इसके लिए एक loop चलाया जाता है जो उस समय तक चलते रहता है जब तक 'i' की Value,  'n' की Value से छोटी रहेगी 

अब loop के Repeat होने के दौरान लगातार User से Students के लिए marks के प्रत्येक Value को, cout() function की मदद से Enter करवाए जाते है  
   for (int i = 0; i < n; i++)
  {
       cout << "Marks are : ";
       cin >> marks[i];
   }

5) Program में सभी Students के marks को Print किया जाता है 
   cout << "Student's Marks are:" << endl;
   for (int i = 0; i < n; i++) 
   {
       cout << marks[i] << endl;
    }

6) अंत मे Program, return 0 statement के द्वारा Program के सफलतापूर्वक क्रियान्वयन को दिखाता है
   return 0;



Multi Dimensional Array

  • C++ में Multi-dimensional array एक grid (जैसे तालिका) की तरह होता है जिसमें rows और columns होते हैं।
  •  इसमें हम कई dimensions में data को store कर सकते हैं। 
  • हर element को उसकी जगह (position) के हिसाब से index number से access किया जाता है।
  • उदाहरण के लिए Two-dimensional array में किसी value को पाने के लिए हमें दो नंबर देने होते हैं – एक row के लिए और एक column के लिए।
  • जब हम ऐसे जटिल Data को Store करना चाहते है जिसके के लिए Rows और Columns की आवश्यकता होती है उस स्थिति में हमे Multi Dimensional Array का Use करना होता है क्योंकि Single Dimensional Array में इस प्रकार से Data Store नही कर सकते 
  • Multi Dimensional Array, Two Dimensional Array या Three Dimensional Array या Four Dimensional Array हो सकते है या उससे ज्यादा भी हो सकते है
सबसे ज्यादा प्रसिद्ध Array Two Dimensional Array है जिसका प्रयोग Table के रूप में Data Store करने के लिए किया जाता है अतः हम उसी के बारे में विस्तार से सीखेंगे।


Two-dimensional Arrays को Declare करना

आप C++ में Data को एक matrix या grid जैसी Structure में Store करने के लिए एक Two-dimensional Array को  निम्न प्रकार से Declare कर सकते हैं

Syntax:
data-type array_name [row_size][column_size];

Example:
int my_table [3][3];

ऊपर Two-dimensional Array Declare करते ही 3 Rows और 3 Columns के रूप compiler द्वारा 9 memory locations आरक्षित कर दिया जाता है 

जिसमें प्रत्येक location, int Data Type होने के कारण 2 बाइट्स का स्थान लेगा और कुछ अन्य System architecture में 4 bytes भी लेता है

Two dimensional Arrays को Initialize करना

हम Declaration के दौरान Two dimensional Arrays को निम्न प्रकार से Initialize कर सकते हैं

Example:
int my_table [3][3] = {
    {5, 6, 3},
    {8, 2, 9},
    {6, 4, 2}
};

ऊपर 3 Rows और 3 Columns का my_table नाम से Two Dimensional Array का निर्माण किया गया है जिसमे Row तथा Column Index दिया गया है 

इन्ही Index का Use करके हम Array के कोई भी Elements को निम्न प्रकार से Access कर सकते है

जैसे यदि हम 4 Element को Access करना चाहते है तो
my_table[2][1] = 4;

का Use करेंगे जहां 2 Row Index और 1 Column Index को बताता है

Program for Two Dimensional Array
#include <iostream>
using namespace std;

int main() {
    int my_table[3][3];

    // Input elements
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            cout << "Enter my_table[" << i << "][" << j << "]: ";
            cin >> my_table[i][j];
        }
    }

    // Output elements
    cout << "Now printing each element:" << endl;
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            cout << my_table[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}

Output:
Enter my_table[0][0]:10
Enter my_table[0][1]:20
Enter my_table[0][2]:30
Enter my_table[1][0]:40
Enter my_table[1][1]:50
Enter my_table[1][2]:60
Enter my_table[2][0]:70
Enter my_table[2][1]:80
Enter my_table[2][2]:90
Now printing the each element:
10 20 30 
40 50 60 
70 80 90 


Explanation:

1) Array को Declare करना: 
सबसे पहले एक `my_table` नाम से 3x3 size का Two-dimensional array को Declare किया जाता है
   int my_table[3][3];

2) Elements को Input करना
Program में nested `for` loops का Use करके, Array में प्रत्येक element की Values को User से enter करवाया जाता है

इस कार्य के लिए बाहरी लूप Rows(i) पर पुनरावृत्त होता है, और आंतरिक लूप Columns(j) पर पुनरावृत्त होता है।
   for (int i = 0; i < 3; i++)
   {
       for (int j = 0; j < 3; j++)
         {
         cout << "Enter my_table[" << i << "][" << j << "]:" ;
         cin >> my_table[i][j];
          }
   }

3) Elements का Output
सभी elements के Enter हो जाने के बाद, Program, एक 3x3 format में Array के elements को print करता है

इस कार्य के लिए फिर से, nested `for` loop का उपयोग Rows और Columns पर पुनरावृति करने के लिए किया जाता है।
 
cout << "Now printing the each element:" << endl;
   for (int i = 0; i < 3; i++) 
    {
       for (int j = 0; j < 3; j++) 
          {
           cout << my_table[i][j] << " ";
           }
cout << endl;  
   }

4) Program का अन्त
Program return 0; statement के द्वारा समाप्त हो जाता हैं
   return 0;
   है 


Advantages of Array in C++ in Hindi - C++ में Array के फायदे

1) Array का Syntax आसान है जिससे Array को Declare, Initialize और Elements को Access करना सरल हो जाता है।

2) Arrays, Declaration के समय आसानी से initialize हो सकते है उदाहरण के लिए
 `int myArr[5] = {10, 20, 30, 40, 50};`

3) Arrays में elements को randomly access किया जा सकता है इसका मतलब है कि elements को सीधे ही उसके index का Use करके Access कर सकते हैं।

4) Array को loop का Use करके आसानी से पुनरावृति किया जा सकता है जो सभी Elements पर कार्य करना आसान बनाता है।

5) Array का Size fixed रहता है, जो पहले से Memory को Allocate करने और elements के कुशल Access की अनुमति देता है।

6) चुकि Array में elements एक के बाद एक store होते है और उसे अतिरिक्त Pointer या Informations की जरुरत नहीं होती 

जिससे Array को अन्य Data structure की तुलना में कम Memory और Processing power की आवश्यकता होती है यह उसे ज्यादा कुशल बनाता है।
 

Disadvantages of Array in C++ - C++ में Array से नुकसान

1) Arrays की Size fixed रहती है जिसे Compile time मे ही निर्धारित करना होता है जिसके कारण यदि उसकी size पहले से पता न हो तो Memory wastage होता है।

2) Array को लगातार (contiguous) memory में जगह चाहिए होती है। बड़े size के array के लिए यह एक समस्या बन सकती है और memory टूट-फूट (fragmentation) का कारण बन सकती है।

3) एक Array के मध्य में elements को Insert या Delete करना मुश्किल है और इसके लिए elements को shift करना पड़ता है जिससे बड़े size वाले arrays का प्रदर्शन खराब हो जाता है।

4) Arrays केवल एक ही प्रकार के Data type वाले element को Store करता है यदि विभिन्न Data types को एक साथ संग्रहीत करने की आवश्यकता हो तो यह इसके लिए सीमित हो जाता है।

5) vector` जैसे STL Containers की तुलना में आधुनिक C++ में Arrays का उपयोग आमतौर पर कम किया जाता है, जो अधिक कार्यक्षमता और सुरक्षा प्रदान करते हैं।

6) Arrays की Size को Runtime के दौरान आसानी से बड़ा या घटा नही सकते जिससे यह Dynamic Data Structure के लिए यह कम flexible है।



Modern C++  में Arrays, std::array और std::vector का उपयोग 


modern C++ में , हम old-style arrays की बजाए ज्यादा सुरक्षित और बेहतर विकल्पों का उपयोग करते हैं।

`int arr[5];` लिखने के बजाए, हम C++ Standard Library से ' std::array` या `std::vector` का उपयोग करते हैं। 

यह modern C++ का भाग है और हमें data को ज्यादा आसानी से और सुरक्षित ढंग से मैनेज करने में मदद करता है।  

std::array – Fixed Size Array

`std::array` एक container है जो traditional array, के समान कार्य करता है परंतु इसमें अतिरिक्त फीचर्स होते हैं। 

इसकी size पहले से तय होती है और बदली नहीं जा सकती।

Syntax:
#include <array> // Header file
std::array<data_type, size> array_name;

Program in C++ using std::array
#include <array>
#include <iostream>
using namespace std;

int main() {
    array<int, 6> arr = {30, 10, 44, 40, 34, 20};
         cout <<"Elements are: ";
    for (int i = 0; i < arr.size(); i++) {
        cout <<arr[i] << " ";
    }
    return 0;
}
Output;
Elements are: 30 10 44 40 34 20 


std::vector – Dynamic Size Array

`std::vector` एक dynamic array है जो रनटाइम के दौरान बढ़ या सिकुड़ सकता है। यह C++ में सबसे अधिक उपयोग किये जाने वाले कंटेनरों में से एक है।।

आपको शुरुआत में साइज डिफाइन करने की जरूरत नहीं है। 

 Syntax:
#include <vector> // Header file
std::vector<data_type> vector_name;

Program in C++ using std::vector 
#include <vector>
#include <iostream>
using namespace std;

int main() {
    vector<int> vec = {25, 40, 34};
    vec.push_back(20); // Add a new element at the end
    vec.push_back(75); //Again adding new at the end
    for (int i = 0; i < vec.size(); i++) {
        cout << vec[i] << " ";
    }
    return 0;
}
 
 Output:
25 40 34 20 75


Difference Between std::array and std::vector in Hindi 

1) `std::array`
इसकी size, fix होती है।
 `std::vector` 
प्रोग्राम के दौरान आप इसकी size को बदल सकते हैं।

2) `std::array` 
आपको compile time में इसकी size को define करना होता है 
 `std::vector`:
यह आपको runtime में items को जोड़ने या हटाने की अनुमति देता हैं।

3) `std::array` 
यह stack memory, में data store करते है।
`std::vector`:
यह heap memory, में data store करते है।
 
4) `std::array`:
यह तेज है क्योंकि यह डायनेमिक मेमोरी का उपयोग नहीं करता। 
 `std::vector`
मेमोरी एलोकेशन के कारण यह धीमा हो सकता है। 

5) ' std::array'
आप इसके साथ `push_back()` जैसे फंक्शन का उपयोग नहीं कर सकते। `std::vector`
यह functions जैसे `push_back()`, `resize()`, आदि को support करता है।

6) `std::array` 
इसका उपयोग तब किया जाता है जब हैरी के साथ fixed है और पहले से पता है। 
  `std::vector`
इसका उपयोग उसे समय क्या जाता है जब साइज को बड़ा यश छोटा करने की जरूरत 


Basic Array Operations in C++ in Hindi - Array के बेसिक ऑपरेशन 

C++, arrays कई values को एक साथ स्टोर करता है। हमें अक्सर array के अंदर data को add, remove, change, find, या move करने की जरूरत होती है और इस प्रकार के कार्य array operations कहलाते है जो निम्न है।

Traversal

इसमे array के प्रत्येक वैल्यू से एक के बाद एक गुजरना होता है। यह सभी elements को पढ़ने और दिखाने के लिए आवश्यक है। 
Example:
यदि array में 5 नंबर्स है तब traversal का मतलब एक loop का उपयोग करके सभी नंबर को दिखाना। 

Insertion

Array में एक नई वैल्यू रखना। यदि जगह उपलब्ध है तो हम विशिष्ट स्थान पर नंबर जोड़ सकते हैं। 
Example:
Array में position 2 पर 30 जोड़े 


Deletion

array से value हटाना। हटाने के बाद हम उस स्थान को भरने के लिए अन्य elements को शिफ्ट करते हैं।
Example:
array से 4th नंबर को हटाए।


 Searching

Array में वैल्यू उपस्थित है या नहीं इसका पता लगाना। यदि वह वैल्यू मिलता है तो उसकी position रिटर्न की जाती है। 
Example:
यह जांच करना कि क्या array में 60 उपस्थित है। 

Updating

एक एलिमेंट की वैल्यू को बदलना। हम पुराने वैल्यू को नए वैल्यू से रिप्लेस करते हैं। 
Example:
index 1 से 30 तक value को 70 में बदले।

Sorting

Array को एक क्रम में जमाना। हम increasing (ascending) या decreasing (descending) order में sort कर सकते हैं।
Example:
students के marks को lowest से highest में sort करे।

Merging

दो arrays को एक में मिलाए। यह उस समय उपयोगी है जब हम data को मिलना चाहते हैं।
Example:
दो arrays: A\[5] और B\[5] को C\[10] में मिलाए 

Copying

एक array के एलिमेंट को अन्य में कॉपी करें। बैकअप या डुप्लीकेट डाटा बनाने के लिए यह उपयोगी है। 
Example:
array A से array B में सभी आइटम की कॉपी करें।


 Related Posts

> C++ क्या है? उसके इतिहास, गुण, उपयोग, फायदे और नुकसान 

> Basic structure of C++ Program 

> C++ में Tokens क्या है? और उसके प्रकार

> C++ Variables क्या है?, उसके प्रकार, उसे कैसे Declare, Define करते हैं

> C++ में Constants क्या है? उसके प्रकारों की संपूर्ण जानकारी

> C++ में Basic Input और Output (cin,cout,cerr) की जानकारी

> Data type in C++ की संपूर्ण जानकारी 

> C+ में Operators और उसके प्रकार जानें Practical सहित 

> C++ में Conditional और उसके प्रकारों को जानें Practical सहित 

> C++ में Looping statements और उसके प्रकार Practical सहित 

> C++ में Jump Statements और उसके प्रकारों की संपूर्ण जानकारी Practical सहित

> C++ में Function क्या है उसके प्रकार, उपयोग प्रोग्राम सहित 

> C++ में Structure क्या है Practical सहित

> OOPs Concepts in C++ in Hindi- C++ में OOPs के बारे में

> Oops के फायदे और नुकसान की जानकारी 

> OOP और POP के बीच अंतर 

> C++ में Class और Object की सम्पूर्ण जनकारी

> C++ में Array of Objects क्या है? 

> C++ में Pointers, Pointer to an objects, Pointer to an Array की संपूर्ण जानकारी हिंदी में।

C++ में Passing objects क्या है

> C++ में Reference और Type Casting की संपूर्ण जानकारी

> C++ में Access specifier की संपूर्ण जानकारी 

> C++ में Static Data Members और Member Functions के बारे में Practical सहित 

> C++ में Memory allocation और Memory management operators (new और delete) Practical सहित 

> Friend Function in C++ in Hindi 

> Friend Class in C++ in Hindi Practical सहित 

> Inline function in C++ in Hindi 

> Function Overloading in C++ in Hindi Practical सहित 

> Operator Overloading in C++ in Hindi Practical सहित 

> C++ में Constructor क्या है और उसके प्रकारों की संपूर्ण जानकारी

> C++ में Destructor क्या है ?उसकी संपूर्ण जानकारी

> C++ मे Inheritance क्या है उसके प्रकारों को जानें प्रोग्राम सहित

> C++ में Polymorphism क्या है? और उसके प्रकारों को जानें

> C++ में Virtual function की संपूर्ण जानकारी

> C++ में File handling की संपूर्ण जानकारी 

> C++ में Exception handling  की संपूर्ण जानकारी