C++ में अपर_बाउंड() फ़ंक्शन का उपयोग कैसे करें

C Mem Apara Ba Unda Fanksana Ka Upayoga Kaise Karem



C++ प्रोग्रामिंग भाषा का उपयोग करके गेम, ग्राफिक्स, वेब सर्वर और बहुत कुछ सहित विभिन्न प्रकार के प्रोग्राम बनाए जा सकते हैं। हालाँकि, कभी-कभी हमें अपने प्रोग्राम में डेटा पर कुछ ऑपरेशन करने की आवश्यकता हो सकती है, जैसे खोज करना, सॉर्ट करना, या तत्वों की एक श्रृंखला के बीच अधिकतम या न्यूनतम मूल्य ढूंढना। तत्वों की क्रमबद्ध श्रेणी में किसी मान की ऊपरी सीमा को खोजने के लिए उपयोग किए जा सकने वाले कार्यों में से एक ऊपरी_बाउंड() है।

C++ में अपर_बाउंड() फ़ंक्शन क्या है

C++ में अपर_बाउंड() फ़ंक्शन एक ऐसा फ़ंक्शन है जो तत्वों की एक क्रमबद्ध श्रेणी और एक मान को तर्क के रूप में लेता है और उस श्रेणी में पहले तत्व की ओर इशारा करते हुए एक पुनरावर्तक लौटाता है जो मान से अधिक है।







इसमें दो अलग-अलग प्रकार के तर्क हैं:



संख्या ऊपरी सीमा ( एक पर। पहला , एक पर। अंतिम , कीमत )

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



संख्या ऊपरी सीमा ( एक पर। पहला , एक पर। अंतिम , मान, तुलना करें )

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





C++ में अपर_बाउंड() फ़ंक्शन का उपयोग कैसे करें

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

उदाहरण 1: क्रमबद्ध सरणी में किसी तत्व की स्थिति जानने के लिए अपर_बाउंड() फ़ंक्शन का उपयोग करना

यहां एक उदाहरण दिया गया है, जो पूर्णांकों की क्रमबद्ध सरणी में किसी तत्व की स्थिति ढूंढने और इसे स्क्रीन पर प्रदर्शित करने के लिए ऊपरी_बाउंड() फ़ंक्शन का उपयोग करता है:



#शामिल करें

#शामिल है

का उपयोग करते हुए नाम स्थान कक्षा ;

int यहाँ मुख्य ( )

{

int यहाँ सरणी [ ] = { पंद्रह , 35 , चार पांच , 55 , 65 } ;

int यहाँ = का आकार ( सरणी ) / का आकार ( सरणी [ 0 ] ) ;

अदालत << 'सरणी में शामिल हैं:' ;

के लिए ( int यहाँ मैं = 0 ; मैं < ; मैं ++ )

अदालत << सरणी [ मैं ] << ' ' ;

अदालत << ' \एन ' ;

int यहाँ बी = चार पांच ; // एक मान घोषित करें और प्रारंभ करें

int यहाँ * पी = ऊपरी सीमा ( सारणी, सारणी + ए, बी ) ;

अदालत << 'की ऊपरी सीमा' << बी << 'स्थिति पर है:' << ( पी - सरणी ) << ' \एन ' ; // सूचक अंकगणित का उपयोग करके स्थिति प्रदर्शित करें

वापस करना 0 ;

}

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

उदाहरण 2: किसी सेट में अगला बड़ा तत्व खोजने के लिए अपर_बाउंड() फ़ंक्शन का उपयोग करना

यहां एक उदाहरण कोड है जो पूर्णांकों के सेट में दिए गए मान से अगला बड़ा तत्व ढूंढने और इसे स्क्रीन पर प्रदर्शित करने के लिए ऊपरी_बाउंड() फ़ंक्शन का उपयोग करता है:

#शामिल करें

#शामिल है

#शामिल <वेक्टर>

का उपयोग करते हुए नाम स्थान कक्षा ;

int यहाँ मुख्य ( )

{

तय करना < int यहाँ > एक पर = { पंद्रह , 25 , 35 , चार पांच , 55 } ; // पूर्णांकों के एक सेट को घोषित और आरंभ करें

अदालत << 'दिए गए नंबर:' ;

के लिए ( ऑटो : एक पर ) // लूप के लिए रेंज-आधारित का उपयोग करके सेट तत्वों को प्रदर्शित करें

अदालत << << ' ' ;

अदालत << ' \एन ' ;

int यहाँ = चार पांच ; // एक मान घोषित करें और प्रारंभ करें

ऑटो यह = ऊपरी सीमा ( एक पर। शुरू ( ) , एक पर। अंत ( ) , ए ) ; // अपर_बाउंड() का उपयोग करके सेट में x की ऊपरी सीमा ढूंढें

अगर ( यह ! = एक पर। अंत ( ) ) // जांचें कि क्या पुनरावर्तक वैध है

अदालत << 'अगली उच्चतर संख्या' << << ' है ' << * यह << ' \एन ' ; // डीरेफ़रेंस ऑपरेटर का उपयोग करके तत्व प्रदर्शित करें

अन्य

अदालत << 'इससे बड़ी कोई संख्या नहीं है' << << ' \एन ' ; // यदि ऐसा कोई तत्व नहीं मिलता है तो एक संदेश प्रदर्शित करें

वापस करना 0 ;

}

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

निष्कर्ष

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