हमें एक वेक्टर दिया गया है और कार्य एक वेक्टर में उन तत्वों की गिनती की गणना करना है जो लक्ष्य मान या स्थिति से मेल खाते हैं।
वेक्टर अनुक्रम कंटेनर हैं जो आकार बदल सकते हैं। कंटेनर एक ऐसी वस्तु है जिसमें एक ही प्रकार का डेटा होता है। अनुक्रम कंटेनर तत्वों को कड़ाई से रैखिक क्रम में संग्रहीत करते हैं।
वेक्टर तत्वों को सन्निहित स्मृति स्थानों में संग्रहीत करता है और सबस्क्रिप्ट ऑपरेटर [] का उपयोग करके किसी भी तत्व तक सीधी पहुंच को सक्षम करता है। सरणियों के विपरीत, वैक्टर रन टाइम पर आवश्यकतानुसार सिकुड़ या विस्तार कर सकते हैं। वेक्टर का संग्रहण स्वचालित रूप से नियंत्रित किया जाता है।
रनटाइम पर सिकुड़न और कार्यक्षमता का विस्तार करने के लिए, वेक्टर कंटेनर संभावित विकास के लिए समायोजित करने के लिए कुछ अतिरिक्त भंडारण आवंटित कर सकते हैं, इस प्रकार कंटेनरों की वास्तविक क्षमता आकार से अधिक होती है। इसलिए, सरणी की तुलना में, भंडारण को प्रबंधित करने और एक कुशल तरीके से गतिशील रूप से बढ़ने की क्षमता के बदले में वेक्टर अधिक मेमोरी की खपत करता है।
उदाहरण के लिए
Input − vector vec = {1, 2, 3, 4, 4, 4, 4} Target = 4 Output − count is: 4
स्पष्टीकरण − दिए गए सदिश में लक्ष्य 4 बार आ रहा है इसलिए गिनती 4 है
Input − vector vec = {1, 2, 3} Target = 4 Output − count is: 0
स्पष्टीकरण - दिए गए वेक्टर में लक्ष्य 0 बार आ रहा है इसलिए गिनती 0
. हैनीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
वेक्टर इनपुट करें और इसे वेक्टर टाइप वेरिएबल में स्टोर करें मान लें vec
-
लक्ष्य मान को पूर्णांक मान के रूप में सेट करें
-
एक अस्थायी चर लें जो गिनती को संग्रहीत करेगा
-
C++ STL में उपलब्ध इनबिल्ट काउंट फंक्शन को कॉल करें और vec.begin(), vec.end() पास करें, फंक्शन कॉल को टारगेट करें
-
परिणाम प्रिंट करें।
उदाहरण
#include <algorithm> #include <iostream> #include <vector> using namespace std; int main(){ vector<int> myvector{ 1, 2, 3, 4, 4, 4, 4, 4 }; int target = 4; int res = count(myvector.begin(), myvector.end(), target); cout << "Target is: " << target << "\nCount is: " << res << endl; return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो हमें निम्न आउटपुट मिलेगा -
Target is: 4 Count is: 5