sim4000
Lebende Foren Legende
guten Tag.
Wir haben in der Schule jetzt seit 2 Wochen in C++ die Caesar-verschlüsselung. Dazu sollen wir ein Programm schreiben, was eine statistische analyse mit dem chiffrierten Text macht. Dazu sollen wir Zeichen für zeichen zählen. Und zwar folgender maßen:
Jedes einzelne Zeichen des Textes wird in einen int ungewandelt (ASCII). Dieser Wert hat ein gleichnamiges Feld in einem Array. Dieses wird dann mit ++ um 1 erhöht. Damit weiss man denn am ende welches Zeichen in dem Text am meisten vor kommt.
Nun zu meinem Problem:
Bei der Umwandlung kommen auch negative werte herraus. Dann kann natürlich nicht das passende Feld gefunden werden, und es gibt einen fehler.
Ich habs bissher so gemacht:
Aber es kommen wie schon gesagt immer mal wieder negative Werte vor, die nicht zugeordnet werden können. Hat wer ne idee wie mans noch anders machen kann?
Mfg, sim4000.
Wir haben in der Schule jetzt seit 2 Wochen in C++ die Caesar-verschlüsselung. Dazu sollen wir ein Programm schreiben, was eine statistische analyse mit dem chiffrierten Text macht. Dazu sollen wir Zeichen für zeichen zählen. Und zwar folgender maßen:
Jedes einzelne Zeichen des Textes wird in einen int ungewandelt (ASCII). Dieser Wert hat ein gleichnamiges Feld in einem Array. Dieses wird dann mit ++ um 1 erhöht. Damit weiss man denn am ende welches Zeichen in dem Text am meisten vor kommt.
Nun zu meinem Problem:
Bei der Umwandlung kommen auch negative werte herraus. Dann kann natürlich nicht das passende Feld gefunden werden, und es gibt einen fehler.
Ich habs bissher so gemacht:
Code:
char c;
int integer;
unsigned array[255];
while(eingabe >> c) {
integer = (int)c;
array[integer] = array[integer] + 1;
}
Mfg, sim4000.