Integer Vector durchsuchen
-
Guten Tag
Ich habe mich gefragt ob es mit einem Befehl möglich ist einen Integer Vector zu durchsuchen, also einfach ob eines der Arrays diesen Wert hat. Ich mache es bis jetzt mit for Schleifen, aber das kommt mir irgendwie nicht so elegant vor.
Wenn es nicht möglich ist, schreibt einfach "nein", es Funktionierte bisher auch so
-
-
Hmmm.. Ok, es lässt sich schon mal Fehlerfrei ausführen, aber irgendwie funktioniert es noch nicht so ganz. Ich habe ein Unterprogramm das den Wert heraussucht und die Position zurücksendet, oder eben nicht. Aber der iterator ist anscheinend ein Integer Array und ich habe keine Ahnung was ich nun damit machen soll. So wie ich es gerne möchte geht es jedenfalls nicht:
int srch(int Index) { iterator itr; std::vector <int> vct; if((itr=find(vct.begin(),vct.end(),Index))!=vct.end()) { return(itr); } else return(-1); }
-
Hallo
Ein Iterator int C++ sollte nicht mit einem Array, sondern mit einem Zeiger verglichen werden. Deshalb reicht es, wenn du für die Rückgabe einfach den Iterator "dereferenzierst".
return *itr; // Klammern für return sind in C++ nicht mehr nötig
bis bald
akari
-
Perfekt, danke!