Transformacja tablicy z string na int

Transformacja tablicy z string na int
  • Rejestracja: dni
  • Ostatnio: dni
0

Posiadam taką tablicę:

Kopiuj
std::string names_str[7] = {"Jan","Sandra","Jan","Kazimierz","Mateusz", "Zuzanna", "Kazimierz"};

Chciałbym drugą tablicę intów wypełnić w taki sposób:

Kopiuj
int names[7] = {0,1,0,2,3,4,2};

Ma ktoś jakiś pomysł jak uzyskać taki efekt?

YooSy
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 472
1
  1. Wypełnij tablicę names wartościami ujemnymi.
  2. Analizujesz tablicę stringów. Tekst spod indeksu 0 porównujesz z pozostałymi elementami, i jeśli znajdziesz takie same,
    nadpisujesz te znalezione indeksy w tablicy names.
  3. Następnie bierzesz kolejny element names_str (indeks 1) i sprawdzasz czy w tablicy names pod tym indeksem jest wartość ujemna.
    Jeśli nie (indeks już jest zajęty) idziesz do następnego elementu tablicy names_str, jeśli tak krok 2 i tak do końca analizy.
Azarien
  • Rejestracja: dni
  • Ostatnio: dni
6

Pytanie do czego ci taka tablica potrzebna, bo coś mam wrażenie że próbujesz wynaleźć std::set albo std::map.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.