मैं strings
के वेक्टर में किसी तत्व की अनुक्रमणिका प्राप्त करने का प्रयास कर रहा हूं, इसे int
प्रकार के किसी अन्य वेक्टर में इंडेक्स के रूप में उपयोग करने के लिए, क्या यह संभव है?स्ट्रिंग वेक्टर में किसी निश्चित तत्व की स्थिति कैसे प्राप्त करें, इसे इन्ट्स वेक्टर में इंडेक्स के रूप में उपयोग करने के लिए?
उदाहरण:
vector <string> Names;
vector <int> Numbers;
...
// condition to check whether the name exists or not
if((find(Names.begin(), Names.end(), old_name_)) != Names.end())
{ // if yes
cout <<"Enter the new name."<< endl;
cin >> name;
replace(Names.begin(), Names.end(), old_name_, name);
}
अब मैं Names
वेक्टर में old_name
की स्थिति प्राप्त करने के लिए, Numbers
वेक्टर में कुछ तत्व तक पहुँचने में उपयोग करना चाहते हैं। ताकि मैं कह सकता हूँ:
Numbers[position] = 3 ; // or whatever value assigned here.
मैंने कोशिश का उपयोग कर:
vector <string> :: const_iterator pos;
pos = (find(Names.begin(), Names.end(), old_name_))
Numbers[pos] = 3;
लेकिन स्पष्ट रूप से यह काम नहीं करता क्योंकि pos
प्रकार स्ट्रिंग की है!
मुझे लगता है कि यह होना चाहिए http://stackoverflow.com/questions/1425349/how-do- i-find-an-element-position-in-stdvector –
आपको std :: map या std :: unordered_map को देखना चाहिए। – Etherealone