• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

próba uzyskania nr. komórki wektora klas

0 głosów
46 wizyt
pytanie zadane 11 października w C i C++ przez omone Nowicjusz (150 p.)

Dzień dobry,
mój problem polega na tym, iż posiadam wektor klas oraz funkcje odnajdującą dany element wektora
jednak zwraca ona sam obiekt
 

zwierze kontener_zwierzat1::find(string i)
{
    for (auto a : vec)
    {
        if (a.imie == i)
        {
            return a;
        }
    }
}


muszę wyszukiwać obiekty po ich nazwie dla tego potrzebuję aby zwracała ona nr. komórki, w której znajduje się obiekt by móc go usunąć.

1 odpowiedź

+1 głos
odpowiedź 11 października przez RafalS Maniak (72,220 p.)
wybrane 11 października przez omone
 
Najlepsza

Użyj gotowej metody z nagłówka algorithm:

auto element = std::find(vec.begin(),vec.end(), str);

która zwróci Ci iterator, który przekażesz do:

vec.erase(element);

Jeśli natomiast bardzo zależy Ci na samym indeksie to zrób w ten sposób:

	for (size_t i = 0;i<vec.size();++i)
	{
		if (vec[i].imie == str)
		{
			return i;
		}
	}

Albo bardziej bibliotecznie:

	auto it = std::find(vec.begin(), vec.end(), str);
	if (it == vec.end()){
		// str not in vector
	}
	else{
		auto index = std::distance(vec.begin(), it);
	}

 

komentarz 11 października przez omone Nowicjusz (150 p.)
dziękuje bardzo za odpowiedź to była duża pomoc

Podobne pytania

0 głosów
1 odpowiedź 72 wizyt
pytanie zadane 7 grudnia 2016 w C i C++ przez niezalogowany
–1 głos
1 odpowiedź 91 wizyt
pytanie zadane 29 sierpnia 2017 w C i C++ przez Shiro Dyskutant (9,830 p.)
0 głosów
1 odpowiedź 74 wizyt
pytanie zadane 10 grudnia 2016 w C i C++ przez wixy0 Gaduła (3,040 p.)
Porady nie od parady
Forum posiada swój własny chat IRC, dzięki któremu będziesz mógł po prostu pogadać z innymi Pasjonatami lub zapytać o jakiś problem. Podstrona z chatem znajduje się w menu pod ikoną człowieka w dymku.IRC

56,372 zapytań

101,068 odpowiedzi

208,200 komentarzy

28,042 pasjonatów

Przeglądających: 364
Pasjonatów: 14 Gości: 350

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...