ascii zeichen 32 bis 127 in array speichern
-
Hallo miteinander,
ich möchte ein c++ programm schreiben, dass mir ausrechnet, wie oft in einer txt datei ein buchstabe/symbol auftaucht.
Dazu wollte ich erstmal die zeichen ! bis z in einen array speichern, nur klappt diese zuweisung irgendwie nicht! Wer sieht das problem?
// Save ASCII Symbols from '!' to 'z' into an array int n = 127 char buchstaben = new char[n] for (char c = '!'; c<= 'z'; ++c) buchstaben[];Merci,
chris
-
Hallo,
Wo ist hier eine Zuweisung?
int n = 127 char* buchstaben = new char[n] for (int i=0; i<n; ++i) buchstaben[i] = char(i+int('!')); //die casts sind nicht unbedingt notwendig //delete[] buchstaben nicht vergessen
-
Braunstein schrieb:
Hallo,
Wo ist hier eine Zuweisung?
int n = 127 char* buchstaben = new char[n] for (int i=0; i<n; ++i) buchstaben[i] = char(i+int('!')); //die casts sind nicht unbedingt notwendig //delete[] buchstaben nicht vergessenSorry kann deine Bemerkung nicht ganz nachvollziehen.
Wofür steht dein char(i+int('!'9) ?
lg chris
-
Kannsts auch mit nem Vector machen, find ich persöhnlich schöner.
vector<char> buchstaben; for(char c ='!';c<='z';++c){ buchstaben.push_back(c); }Edit:
Das char(i+int('!')) ist dafür da das zu deiner zählvariablen i immer 33
dazu addiert werden so das dein erstes Zeichen '!'(33) ist, dein zweites
'"'(34), und so weiter......
-
Aber wofür willst du das eigtl. haben? Leg doch direkt einfach einen Array an(war hier letztens im Forum eine garnicht soo schlechte Idee)
unsigned int count_chars[255]; const std::string str("Das ist mein kleiner String dessen Zeichen ich einzelln kategorisieren mag!"); for (std::size_t pos(0); pos < str.length(); ++pos) ++count_chars[128 + str[pos]]; for (std::size_t i(0); i < 255; ++i) std::cout << "\'" << static_cast<char>(i + 1) << "\' existiert " << count_chars[i] << " mal!" << std::endl;...
-
Chris Z schrieb:
Sorry kann deine Bemerkung nicht ganz nachvollziehen.
Ich haben in deinem ersten Code keinerlei Zuweisung gesehen. Das hier
buchstaben[];ist jedenfalls keine.

-
@(D)Evil
unsigned int count_chars[255] = {};Ohne Initialisierung ist das Zaehlen sinnfrei
