Wörter Zählen



  • Wenn Satzzeichen und Leerzeichen nebeneinander liegen zählt mein Programm 2 mal.
    Wie kann man es verbessern ?

    while(( c = ifs.get()) != EOF )                     //einleseschleife
        {
            if(isspace(c) ||ispunct(c))                     //Auf leerzeichen prüfen
            {
                zustand=0;                                  //Wenn ein leerzeichen vorhanden ist ist zustand = 0
            }
            else                                            //alles andere ist zustand = 1
            {
                zustand=1;
            }
            if (zustand==0)                 //schleife für erhöhung der zähler
            {
                wort+=1;
            }
        }
    

  • Mod

    Hashimura1993 schrieb:

    Wie kann man es verbessern ?

    Indem du zählst, wie oft der Zustand von 1 auf 0 wechselt (+ggf. Wortende by EOF) - oder umgekehrt von 0 auf 1 (dann ohne Sonderbehandlung von EOF).



  • Wie wärs mit stream >> wort ?


Anmelden zum Antworten