Hallo, vielleicht hat hier ja jemand eine Idee oder ich überseh etwas furchtbar Offensichtliches.
Ich gebe einen string ein, der als Parameter string str an zaehle_zeichen über geben wird.
Die Werte werden dann in einem "multi-vector" gespeichert. Wann immer count_char>0 soll eine Ausgabe erfolgen, was er auch macht.
Beispiel:
Eingabe:"Frohes Neues Jahr" (ohne Anführungsstriche)
Ausgabe:
count_character_in_string(): schreibe Wert 2 in wort_vector [0][0] fuer //Leerzeichen
count_character_in_string(): schreibe Wert 1 in wort_vector [38][0] fuer F
count_character_in_string(): schreibe Wert 1 in wort_vector [42][0] fuer J
count_character_in_string(): schreibe Wert 1 in wort_vector [46][0] fuer N
count_character_in_string(): schreibe Wert 1 in wort_vector [65][0] fuer a
count_character_in_string(): schreibe Wert 3 in wort_vector [69][0] fuer e
count_character_in_string(): schreibe Wert 2 in wort_vector [72][0] fuer h
count_character_in_string(): schreibe Wert 1 in wort_vector [79][0] fuer o
count_character_in_string(): schreibe Wert 2 in wort_vector [82][0] fuer r
count_character_in_string(): schreibe Wert 2 in wort_vector [83][0] fuer s
count_character_in_string(): schreibe Wert 1 in wort_vector [85][0] fuer u
Hier das Problem: Eingabe: "Überaschung"
Ausgabe:
count_character_in_string(): schreibe Wert 1 in wort_vector [65][0] fuer a
count_character_in_string(): schreibe Wert 1 in wort_vector [66][0] fuer b
count_character_in_string(): schreibe Wert 1 in wort_vector [67][0] fuer c
count_character_in_string(): schreibe Wert 1 in wort_vector [69][0] fuer e
count_character_in_string(): schreibe Wert 1 in wort_vector [71][0] fuer g
count_character_in_string(): schreibe Wert 1 in wort_vector [72][0] fuer h
count_character_in_string(): schreibe Wert 1 in wort_vector [78][0] fuer n
count_character_in_string(): schreibe Wert 1 in wort_vector [82][0] fuer r
count_character_in_string(): schreibe Wert 1 in wort_vector [83][0] fuer s
count_character_in_string(): schreibe Wert 1 in wort_vector [85][0] fuer u
Es fehlt das 'Ü', gleiches gilt auch für alle weiteren Zeichen auf der ASCII Tabelle jenseits des Tilde Zeichens.
Ein char speichert nur Werte bis 127 wenn signed, aber ich hab einen unsigned genommen und ich verstehs nicht.
Bin für jede Idee dankbar.
Ich gebe einen string ein, der als Parameter string str an zaehle_zeichen über geben wird.
Die Werte werden dann in einem "multi-vector" gespeichert. Wann immer count_char>0 soll eine Ausgabe erfolgen, was er auch macht.
Code:
void zaehle_zeichen(string str){
int count_char;
for(unsigned char cha=32;cha<255;cha++){
int vi=(int) cha-32;
count_char = count(str.begin(), str.end(), cha);
wort_vector[vi][0]=count_char;
if(count_char>0)cout<<"count_character_in_string(): schreibe Wert "<<count_char<<" in wort_vector ["<<vi<<"][0] fuer "<<cha<<endl;
}
}
Beispiel:
Eingabe:"Frohes Neues Jahr" (ohne Anführungsstriche)
Ausgabe:
count_character_in_string(): schreibe Wert 2 in wort_vector [0][0] fuer //Leerzeichen
count_character_in_string(): schreibe Wert 1 in wort_vector [38][0] fuer F
count_character_in_string(): schreibe Wert 1 in wort_vector [42][0] fuer J
count_character_in_string(): schreibe Wert 1 in wort_vector [46][0] fuer N
count_character_in_string(): schreibe Wert 1 in wort_vector [65][0] fuer a
count_character_in_string(): schreibe Wert 3 in wort_vector [69][0] fuer e
count_character_in_string(): schreibe Wert 2 in wort_vector [72][0] fuer h
count_character_in_string(): schreibe Wert 1 in wort_vector [79][0] fuer o
count_character_in_string(): schreibe Wert 2 in wort_vector [82][0] fuer r
count_character_in_string(): schreibe Wert 2 in wort_vector [83][0] fuer s
count_character_in_string(): schreibe Wert 1 in wort_vector [85][0] fuer u
Hier das Problem: Eingabe: "Überaschung"
Ausgabe:
count_character_in_string(): schreibe Wert 1 in wort_vector [65][0] fuer a
count_character_in_string(): schreibe Wert 1 in wort_vector [66][0] fuer b
count_character_in_string(): schreibe Wert 1 in wort_vector [67][0] fuer c
count_character_in_string(): schreibe Wert 1 in wort_vector [69][0] fuer e
count_character_in_string(): schreibe Wert 1 in wort_vector [71][0] fuer g
count_character_in_string(): schreibe Wert 1 in wort_vector [72][0] fuer h
count_character_in_string(): schreibe Wert 1 in wort_vector [78][0] fuer n
count_character_in_string(): schreibe Wert 1 in wort_vector [82][0] fuer r
count_character_in_string(): schreibe Wert 1 in wort_vector [83][0] fuer s
count_character_in_string(): schreibe Wert 1 in wort_vector [85][0] fuer u
Es fehlt das 'Ü', gleiches gilt auch für alle weiteren Zeichen auf der ASCII Tabelle jenseits des Tilde Zeichens.
Ein char speichert nur Werte bis 127 wenn signed, aber ich hab einen unsigned genommen und ich verstehs nicht.
Bin für jede Idee dankbar.