Buchstaben zählen



  • Hallo,

    wie kann ich in einem beliebigen text die anzahl der unterschiedlichen buchstaben (a bis z) zählen?

    die häufigeit je buchstabe soll in einem int-array gespeichert werden

    hab mir das in etwa so gedacht:

    //----------------------------------------------------------
    int alphabet[26];
    int letter;
    char *beliebiger_text= "test bla bla";

    for(letter=0; letter<26; letter++)
    alphabet[letter] = //so und hier sollen im ersten schleifendurchlauf alle "a" in diesem beliebiger_text-string gezählt werden..im zweiten durchlauf alle "b" usw.....

    wie kann ich das realisieren?



  • unsigned int num_char[26] = {0}, len = strlen(string), i;
    
    for(i = 0; i < len; i++)
    	num_char[string[i] - 'A']++;
    

    In der Schleife sollte man natürlich auch erst prüfen, ob das überhaupt nen Buchstabe von A-Z ist oder nen Leerzeichen, Punkt .. etc. Was mir auch noch einfällt: auf alle Buchstaben toupper anwenden, sonst bekommst du auch Probleme.


Anmelden zum Antworten