Vokale zählen!!!
-
Shinja schrieb:
Wenn du davon ausgehst dass zwischen jedem Wort ein Leerzeichen steht, dann ja, zaehl die Leerzeichen. Musst allerdings am Ende +1 machen, wenn hinter dem letzten Wort kein Leerzeichen mehr steht.
Ja so hab ichs auch gemeint! ja!
Kannst dus als Programm kurz schreiben, mit meinem schema wie beim vokale zählen?
bitteeeeeeeBesten Dank im Voraus!!!!
-
#include <cstring> int main(void) { int WortAnzahl = 1; char text[] = "Dies ist ein Testsatz"; for(int i = 0; i < std::strlen(text);++i) { if(text[i] == ' ') { ++WortAnzahl; } } return 0; }
-
danke aber soo check ich es nicht..
gibts nicht noch ne möglichkeit auf meiner art? (siehe seite1)
bitte danke
-
#include <cstring> int main(void) { int WortAnzahl = 1; char text[] = "Dies ist ein Testsatz"; // Kann jeder beliebige andere Text sein for(int i = 0; i < std::strlen(text); ++i) // strlen holt die Länge des des Strings bis zum nächsten '\n' if (text[i] == ' ') // Wenn es ein Leerzeichen ist wird die Wortanzahl um 1 erhöht ... ++WortAnzahl; return 0; }Aber das ist insofern nicht richtig als das wenn manmal folgenden String übergibt der nicht das richtige ausgibt

"Das ist ein Test " richtig wäre 4 ... er wird dir aber 5 ausgeben ...
-
Kann mir jemand ein kleines programm mit MEINER ART (siehe seite1) schreiben, indem man Wörter zählen kann? Also mit Leerzeichen+1 oder so.. Bitte helft mir. Ist wichtig! Dankeeeee im Voraus!!!
-
Wir machen keine Haufaufgaben!
-
(D)Evil schrieb:
for(int i = 0; i < std::strlen(text); ++i) // strlen holt die Länge des des Strings bis zum nächsten '\n'Soweit kommt's noch, dass strlen bis '\n' zählt...
http://cppreference.com/stdstring/strlen.html
"The strlen() function returns the length of str (determined by the number of characters before null termination)."
-
LoSt schrieb:
Kann mir jemand ein kleines programm mit MEINER ART (siehe seite1) schreiben, indem man Wörter zählen kann? Also mit Leerzeichen+1 oder so.. Bitte helft mir. Ist wichtig! Dankeeeee im Voraus!!!
Ich habe jetzt ein bischen rumprobiert... was rausgekommen ist zählt Wörter und Vokale. Hoffe das ich nicht irgendwie das Thema verfehlt habe oder so
#include <iostream> #include <stdio.h> using namespace std; int main(void) { int vokale = 0; int words = 1; while(true) //Endlosschleife { int input = getchar(); //Zeichenfolge wird eingelesen char buchstabe = input; //buchstabe erhält den entsprechenden Wert if (input != 10) { switch(buchstabe) { case 'a': case 'e': case 'i': case 'o': case 'u': vokale++; break; case 32: words++; } } else { break; } } cout<<"Dein Satz hat "<<words<<" Woerter und "<<vokale<<" vokale"<<endl; }
-
hm danke sieht aber sehr kompliziert aus (für mich).. auch wenns wahrscheinlich voll leicht ist.
gibts nicht noch andere möglichkeiten?
mfg
-
bitte helft mir!!!

-
Nicht bevor du dir nicht endlich mal 'n Tutorial durchliest, um die hier geposteten Lösungen zu verstehen: http://tutorial.schornboeck.net/inhalt.htm
Es läuft nun mal auf Schleife + Abfrage raus, viel mehr Möglichkeiten gibt's nicht.
Du willst Hilfe, wir wollen Engagement.
-
hmm war gerade zu faul auszuprobieren ob es so geht ^^
void count_words(const std::string& string, unsigned short& count) { std::string::size_type len = string.length(); count = (len <= 0 ? 0 : 1); for (std::string::size_type n = 0; n < len; ++n) if (string[n] == ' ' && (n + 1) < len && string[n + 1] != ' ') ++count; }sollte so wie ich es mir vorgestellt haben halt als erstes gucken ob überhaupt was im String steht ... wenn mehrerer Leerzeichen hintereinander kommen soll der die ignorieren ... tjo und nutzt natürlich std::string usw ..
achja ... die Funktion braucht den Header <string>
Also testen müsst ihrs selbst ... hab wirklich keine Zeit sorry ...