Two Dimensional Array
इस अध्याय से पहले वाले अध्याय में हमने one dimensional array(वन डाइमेंशनल एरे) को समझाता इस अध्याय में हम two dimensional array(टू डाइमेंशनल एरे) को explain(एक्सप्लेन) करेंगे।
कुछ परिस्थितियों one dimensional array(वन डाइमेंशनल एरे) वैल्यू को स्टोर करने के लिए उपयुक्त नहीं रहता है। उदाहरण के लिए एक ही कक्षा के 10 student(विद्यार्थियों) के हिन्दी तथा गणित के प्राप्तांक स्टोर कराने हो तो इसके लिए दो अलग-अलग एरे बनाने होंगे एक हिन्दी के लिए तथा दूसरा गणित के लिए प्राप्तांक स्टोर कराने के लिए।
यही कार्य एक ही अरे के माध्यम से भी किया जा सकता है। इसके लिए हमें two dimensional array(टू डाइमेंशनल एरे) बनाना होगा।
टू डाइमेंशनल array को एक टेबल के रूप में समझा जा सकता है इसमें 1 से अधिक rows(पंक्तियां) तथा columns(कॉलम) होते हैं। अतः यदि हमें 10 विद्यार्थियों के गणित और हिन्दी के अंक स्टोर करवाने हैं तो हमें दो कॉलम तथा 10 पंक्तियों की आवश्यकता होगी। टू डाइमेंशनल एरे की एक डाइमेंशनल में हम हिन्दी तथा दूसरे डाइमेंशनल में गणित के अंक स्टोर कर सकते हैं।
Two-dimensional array को declare करने का तरीका:-
Example:-
int marks[2][10];
Example:-
इस उदाहरण में [2]x[2] के एक टू डाइमेंशनल array में वैल्यू स्टोर करवाकर उसे प्रिंट करवाया गया है।
Output:-
1 2
3 4
Explain Example:-
ऊपर दिए गए उदाहरण में डाटा मेमोरी में निम्न 👇 प्रकार स्टोर होगा
ध्यान दें कि एरे टू डाइमेंशनल है लेकिन फिर भी डाटा मेमोरी में क्रमागत ही स्टोर हुआ है इसका कारण यह है कि मैं मेरी को सिंगल डाइमेंशनल ही होती है ऐसे में टू डाइमेंशनल एरे का डाटा मेमोरी में स्टोर होने से पहले एक क्रम में जमा दिया जाता है। सरल शब्दों में टू डाइमेंशनल अरे की वैल्यू मेमोरी में स्टोर होने से पहले एक क्रम में सेट हो जाती है और इस क्रम में सर्वप्रथम प्रथम पंक्ति [index 0] सभी वैल्यू स्टील हो जाती है, तत्पश्चात द्वितीय पंक्ति की वैल्यू स्टोर हो जाती है। यही क्रम से इस पंक्तियों के लिए अपनाया जाता है।
Example:-
Output:-
Enter a Number : 5
Enter a Number : 6
Enter a Number : 4
Enter a Number : 2
5 6
4 2
चूंकि c language(सी लैंग्वेज) का compiler(कंपाइलर) यह जांच नहीं करता कि जिस index number(इंडेक्स नंबर) पर डाटा स्टोर किया जा रहा है वह एरे declaration(डिक्लेरेशन) में दिए कर डाटा dimension(डायमेंशन) से अधिक तो नहीं है, अतः यदि प्रोग्राम में declare(डिक्लेअर) किए गए dimension(डायमेंशन) से आगे के index पर भी वैल्यू स्टोर करवाई जाए तो कोई error नहीं आएगी।
किंतु इसकी संभावना जरूर है कि ऐसा करने से परिणाम गलत आए।
अतः यदि उपरोक्त प्रोग्राम में for(row=0; row<=1; row++) की जगह for(row=0; row<=4; row++) भी कर दिया जाए तो प्रोग्राम को कंपाइल करते वक्त error नहीं आएगी। हां, यह जरूर हो सकता है कि परिणाम गलत आ जाए।
0 Comments