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; } }
-
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?