Vokale zählen!!!
-
Wieder was gelernt. Boost gehört zum Standard... Mist, muß ich meine IDE wohl wegwerfer, weil boost nicht dabei ist...
-
Musst du ja auch installieren ... sollte normal auch nicht dabei sein

-
LoSt schrieb:
ok.. danke für alle antworten
Hätt da noch ne Frage..
wär cool zu wissen wie man Wörter zählen kann..
Also ich gibs zu, hab keine ahnung.. vielleicht mit dem Leerzeichen was?
schon oder? Kann mir das jmd sagen? Aber bitte in dem schema, in der art wie ich das "vokale zählen" programm hab! des wär echt mega super! danke im voraus!!mfg
bitte helfen
besten dank im vorausmfg
-
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.
Andere Methode ist es auszunutzen, dass der operator>> der streams das Leerzeichen als Trennzeichen nimmt. Also solange einlesen bist du Ende angekommen bist, und bei jedem einlesen +1 machen, fertig.
-
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 ...