सरणी आकार खोजें C++

Find Array Size C



एक सरणी एक कंटेनर है जिसमें समान डेटा प्रकार के तत्व होते हैं। यदि हम किसी सरणी के वास्तविक आकार को नहीं जानते हैं, तो इसे विभिन्न तरीकों से निर्धारित किया जा सकता है। जब हम किसी सरणी के आकार के बारे में बात करते हैं, तो वास्तव में हम सरणी में मौजूद तत्वों की संख्या के बारे में बात कर रहे हैं। कभी-कभी, हम सरणी आकार को परिभाषित करते हैं, और कभी-कभी कोष्ठक खाली छोड़ दिए जाते हैं। यह एक स्पष्ट आकार है जो केवल मूल्य को संग्रहीत करने के लिए एक सरणी की क्षमता को दर्शाता है। उदाहरण के लिए, एक नमूना सरणी घोषणा पर विचार करें

इंट सरणी[] = {1,2,3,4,5,6}

यहां एक सरणी का आकार या एक सरणी की लंबाई 6 है। और कुल सरणी आकार जो असाइन किया जाना है वह नहीं दिखाया गया है। वास्तविक आकार विभिन्न संक्रियाओं को लागू करके प्राप्त किया जाता है। इस आलेख में किसी सरणी का आकार प्राप्त करने के लिए इन कार्रवाइयों का उपयोग किया जाता है।







उदाहरण 1

इस उदाहरण में, हम प्रारंभ () और अंत () की अवधारणा का उपयोग करेंगे। इस विधि से किसी ऐरे का आकार आसानी से ज्ञात किया जा सकता है। ये दो पुस्तकालय हैं जो मानक पुस्तकालयों के लिए जाने जाते हैं। ये दो फ़ंक्शन उन पुनरावृत्तियों को लौटाते हैं जो सरणी के प्रारंभिक और अंतिम बिंदु दिखाते हैं। हेडर से शुरू करते हुए, हम एक ऐरे लाइब्रेरी का उपयोग करते हैं। इसमें सरणी से संबंधित सभी कार्य शामिल होंगे। मुख्य फ़ंक्शन में, हमने पूर्णांक मान वाले एक सरणी की शुरुआत की है।



लागत<<………।<<समाप्त(प्रति)-बेगीबो(प्रति)<<

यहां हमने सरणी आकार का उल्लेख नहीं किया है। कॉउट के बाद के डिस्प्ले स्टेटमेंट में, हमने एंड () और स्टार्ट () फंक्शन का उपयोग किया है। इन दो कार्यों के बीच असमानता हमें एक सरणी का आकार दिखाएगी। इन कार्यों के मापदंडों में, हमने सरणी को पारित किया है। ऐसा करने से वास्तविक आकार का पता चल जाएगा। इन कार्यों से परिणामी मूल्य सीधे प्रदर्शित होता है।







अब आउटपुट की ओर बढ़ रहे हैं। हमें इन कार्यक्रमों को लिनक्स में निष्पादित करना है, इसलिए हमें उबंटू टर्मिनल की भागीदारी की आवश्यकता है। जैसा कि हम सी ++ कोड का उपयोग कर रहे हैं, इसलिए हमें कंपाइलर के माध्यम से कोड संकलित करने की आवश्यकता है। वह जी ++ कंपाइलर है। कोड संकलित करने के बाद, हम इसे निष्पादित करेंगे। नीचे दिए गए आदेश हमारे द्वारा उपयोग किए गए आउटपुट दृष्टिकोण को दिखाते हैं।

$ जी++ -ओ कोड2 कोड2.सी

$./कोड २



अब आप आउटपुट देख सकते हैं। एसटीडी के मामले में इसी तरह का एक और उदाहरण डिस्टेंस फंक्शन है। इस दूरी में प्रारंभ () और अंत () फ़ंक्शन का उपयोग करके गणना की जाती है। यह एसटीडी के साथ इन कार्यों का उपयोग करके पूरा किया जाता है।

इंट नंबर=घंटे:: दूरी(घंटे::शुरू(आगमन),घंटे::समाप्त(आगमन));

आउटपुट कोउट स्टेटमेंट में प्राप्त किया जाता है। रिकॉर्ड देखने के लिए, कोड को निष्पादित करने के लिए फिर से कंपाइलर का उपयोग करें।

यहां आप देख सकते हैं कि हमारा वांछित आउटपुट प्राप्त हुआ है।

उदाहरण 2

यह उदाहरण C++ कोड में sizeof() फ़ंक्शन के उपयोग से संबंधित है, क्योंकि यह मान बाइट्स के रूप में डेटा का वास्तविक आकार देता है। इसके अलावा, यह एक सरणी को संग्रहीत करने के लिए उपयोग किए जाने वाले बाइट्स की संख्या को वापस करने से भी संबंधित है। दूसरे शब्दों में, इस उदाहरण में, पहला चरण किसी सरणी के आकार की घोषणा किए बिना किसी सरणी को प्रारंभ करना है। sizeof() फ़ंक्शन के लिए प्रयुक्त सिंटैक्स है:

इंट अल= का आकार(आगमन)/का आकार(आगमन[0]);

जहां गिरफ्तारी सरणी है। एआर [0] सरणी में तत्वों की अनुक्रमणिका दिखाता है।

तो इस कथन का तात्पर्य है कि सरणी का आकार एक-एक करके मौजूद सभी तत्वों के आकार से विभाजित होता है। यह लंबाई की गणना में मदद करता है। हमने फ़ंक्शन से मान रिटर्न प्राप्त करने और संग्रहीत करने के लिए एक पूर्णांक चर का उपयोग किया है।

हम यहां कमांड प्रॉम्प्ट से उसी संकलन-निष्पादन विधि द्वारा आउटपुट प्राप्त करेंगे।

आउटपुट सरणी के आकार को दर्शाता है, जिसका अर्थ है कि इसमें मौजूद तत्वों की संख्या, जो कि 6 है।

उदाहरण 3

इस उदाहरण में आकार () फ़ंक्शन का उपयोग शामिल है। यह फ़ंक्शन मानक पुस्तकालय, एसटीएल में रखा गया है। मुख्य कार्यक्रम में प्रारंभिक चरण सरणी घोषणा है। यहां सरणी के नाम में आकार और पूर्णांक मान भी होता है। यह विधि परिणाम को सीधे आउटपुट स्टेटमेंट में भी लौटाती है।

लागत<<….<<गिरफ्तारआकार()<<

जहां 'गिरफ्तारी' सरणी है, परिणाम लाने या फ़ंक्शन तक पहुंचने के लिए, हमें आकार फ़ंक्शन के साथ सरणी का नाम चाहिए।

परिणाम प्रदर्शित करने के लिए, हम परिणाम को संकलित और निष्पादित करने के लिए g++ कंपाइलर का उपयोग करते हैं।

आउटपुट से, आप देख सकते हैं कि परिणाम हमारा वांछित है जो सरणी के वास्तविक आकार को दर्शाता है।

उदाहरण 4

पॉइंटर्स का उपयोग करके एक सरणी का आकार भी प्राप्त किया जा सकता है क्योंकि पॉइंटर्स चर के मूल्य के पते/स्थान को संग्रहीत करते हैं। अब नीचे दिए गए एक उदाहरण पर विचार करें।

प्रारंभिक चरण हमेशा की तरह एक सरणी को इनिशियलाइज़ करना है। फिर सूचक सरणी आकार के लिए काम करता है।

इंट लेन= *(औरसरणी+ 1)- सरणी;

यह मूल कथन है जो एक सूचक के रूप में कार्य करता है। * का उपयोग किसी सरणी में किसी तत्व की स्थिति का पता लगाने के लिए किया जाता है, जबकि & ऑपरेटर का उपयोग पॉइंटर के माध्यम से प्राप्त स्थान का मान प्राप्त करने के लिए किया जाता है। इस तरह हम पॉइंटर्स से ऐरे साइज प्राप्त करते हैं। परिणामी टर्मिनल के माध्यम से दिखाया गया है। जवाब वही है। जैसा कि उल्लिखित सरणी का आकार 13 बताया गया था।

उदाहरण 5

इस उदाहरण में, हमने टेम्पलेट तर्क कटौती के विचार का उपयोग किया है। एक टेम्पलेट तर्क एक विशेष प्रकार का पैरामीटर है। इसका उपयोग किसी भी प्रकार के तर्क को पारित करने के लिए किया जाता है, जैसे नियमित कार्यों को तर्क के रूप में पारित किया जा सकता है।

जब एक सरणी को एक पैरामीटर के रूप में पारित किया जाता है, तो इसे पता दिखाने के लिए एक पॉइंटर में बदल दिया जाता है। विशिष्ट सरणी की लंबाई प्राप्त करने के लिए, हम टेम्पलेट तर्क कटौती के इस दृष्टिकोण का उपयोग करते हैं। एसटीडी मानक का संक्षिप्त रूप है।

दिए गए उदाहरण को ध्यान में रखते हुए, हमने सरणी आकार प्राप्त करने के लिए उपयोग किए जाने वाले टेम्पलेट वर्ग की शुरुआत की है। यह एक डिफ़ॉल्ट अंतर्निर्मित वर्ग है जिसमें टेम्पलेट तर्कों की सभी कार्यक्षमताएं शामिल हैं।

कॉन्स्टेक्सप्र एसटीडी: : size_tआकार(स्थिरांकटी(औरसरणी)[एन])बिना किसी अपवाद के{

वापसीएन;

}

यह इस अवधारणा में एक निरंतर रेखा है। आउटपुट सीधे cout स्टेटमेंट में प्राप्त होता है।

आउटपुट से, आप देख सकते हैं कि हमें अपना वांछित आउटपुट मिला है: सरणी आकार।

उदाहरण 6

हम प्रोग्राम में सरणी आकार प्राप्त करने के लिए std :: वेक्टर का उपयोग करते हैं। यह एक प्रकार का कंटेनर है; इसका कार्य गतिशील सरणियों को संग्रहीत करना है। यह विभिन्न कार्यों के लिए अलग-अलग तरीकों से काम करता है। इस उदाहरण को पूरा करने के लिए, हमने एक वेक्टर लाइब्रेरी का उपयोग किया है जिसमें सभी वेक्टर फ़ंक्शन शामिल हैं। यह कार्यक्रम में उपयोग किए जाने वाले सिने, कॉउट, एंडल और वेक्टर स्टेटमेंट की भी घोषणा करता है। कार्यक्रम में पहले एक सरणी शुरू की जाती है। आउटपुट को वेक्टर आकार द्वारा cout स्टेटमेंट में प्रदर्शित किया जाता है।

लागत<<वेक्टर आकार: <<int_array.आकार() <<एंडली;

अब हम उबंटू टर्मिनल से आउटपुट देखेंगे। सरणी का आकार उसमें मौजूद तत्वों के लिए सटीक है।

निष्कर्ष

इस ट्यूटोरियल में, हमने सरणी की लंबाई या आकार प्राप्त करने के लिए एक अलग दृष्टिकोण का उपयोग किया है। कुछ अंतर्निहित कार्य हैं, जबकि अन्य मैन्युअल रूप से उपयोग किए जाते हैं।