Wpis z mikrobloga

Mam taki problem. Mam wektor w który przechowuje 10 stringów "zero", "jeden" ....."dziewięć". Napisałem pętle for w której po podaniu numeru szufladki drukuje mi zawartość.

Teraz mam tak przerobić pętle by po wpisaniu stringa wyskoczył mi numer czyli po wpisaniu zero wyskakuje 0.

Mogę to napisać z wykorzystaniem warunku if ale nie chce uczyć się pisać takiego topornego kodu.

vector numb;
numb[0] = "zero";
....
numb[9] = "dziewięć";

cin >> choice;

for (int i = choice; i <=choice; i++)
cout << numb[i] << endl;

#naukaprogramowania #cpp
  • 8
@znkk: Musisz używać wektora? Nie znam się za bardzo na C, ale w Javie bym użył Mapy (Dictionary) typu String -> Int, po czym włożył pary (zero, 0), (jeden, 1), ..., (dziewięć, 9) i elementy brał za pomocą np. map.get("trzy")
@GlenPL: W tym przykładzie na pewno nie chodzi o wykorzystanie biblioteki map.

@Zimnx: Bij, zabij nie mogę wpaść na rozwiązanie. Żeby użyć zmiennej string muszę ją najpierw zdefiniować a nowo powstałą zmienną w jakiś sposób skojarzyć ze stringiem w wektorze.
@znkk: Pobierz wyszukiwany string od użytkownika bądź na pałe zahardcoduj w kodzie. Potem przeleć po elementach wektora(pętla) i sprawdź czy ten wyszukiwany jest taki sam jak kolejny element w wektorze(if).