2016-04-05 12 views
-1

Ich habe eine Zeichenfolge (cuvant). Jeder Buchstabe hat eine Nummer, die dem frec-Vektor entspricht. Wenn ich den Vektor sortiere, möchte ich auch die Buchstaben aus meiner Zeichenfolge sortieren. Ich dachte, dass ich dafür Karte verwenden könnte, aber ich weiß nicht, wie man es initialisiert. Im Folgenden finden Sie, was ich versucht:Verwenden von Karte von Std-Bibliothek

map <char,int> sort; 
     for(unsigned int=0;i<cuvant.size();i++){ 
      sort.insert(make_pair(cuvant[i],frec[i])); 

     } 
+1

Und was nicht wie erwartet funktioniert? –

+0

Also .. was ist das Problem? – ayushgp

+0

sortiert wie A-> Z? –

Antwort

1

Tatsächlich wurde die einzige fehlende Teil von tonisuter hingewiesen.

aus dem Code-Schnipsel:

using namespace std; 
int main() 
{ 
    string cuvant = "AtesT"; 
    int frec[5] = {3,0,4,1,2}; 

    map <int, char> sort; 
    for(unsigned int i =0;i<cuvant.size();i++){ 
     sort.insert(make_pair(frec[i],cuvant[i])); 
    } 

    for(auto x: sort) 
    cout << x.second << endl; 

return 0; 
} 

Und es gibt: t s T A e