Brauche Hilfe bei einer C++ Aufgabe.
-
dann muss ich leider sagen, setzt dich hin und lies dir ein tutorial durch und probier aus;) ohne lernen und probieren wird das nichts
-
schnicky schrieb:
Also ich ...verstehe die ganze Sache an sich überhaupt nicht wirklich. :(...
...Ich verstehe die Sprache nicht. ...Und ? Soll das so bleiben ?
Wenn ja, dann wirst Du doch mit einer 6 ganz treffend benotet und solltest ab jetzt Deiner Freizeit genießen, statt im Internet in Foren rumzuhängen zu Themen, die Dich nicht interessieren ... :pGruß,
Simon2.
-
Doch ich will die endlich richtig lernen, aber leider komme ich erst zu dem Osterferien dazu. Ich mache mein Abi auf der Abendschule und gehe vorher 8 Std. am Tag arbeiten, d. h. ich habe nur meine Wochenenden zum lernen.
Ich werde mich über Ostern hinsetzen und diese Sprache lernen.
-
schnicky schrieb:
Doch ich will die endlich richtig lernen, aber leider komme ich erst zu dem Osterferien dazu. ...
Also in der Zeit, in der Du Dich hier im Forum schon rumgetrieben hast, hättest Du (z.B. anhand der Vorschläge hier) schon Einiges über die Sprache lernen können.
Entweder hast Du gar keine Zeit - dann würden wir Dich hier gar nicht sehen - oder Du verbringst sie falsch (z.B. mit Betteln um Arbeitsabnahme).

Gruß,
Simon2.
-
Ich sitze auf Arbeit. Ich habe leider nicht soviel Freizeit, wo ich lernen kann. Mir bleibt praktisch nur mein Wochenende, aber egal.
-
soo heir is alles was du brauchst
http://www.google.de/search?hl=de&q=C%2B%2B+tutorial&btnG=Google-Suche&meta=
http://www.google.de/search?hl=de&q=C%2B%2B+strings&btnG=Suche&meta=
-
Ja, super! Danke für die Links, werde mir dieser aber leider erst am Wochenende angucken können.
-
#include <algorithm> #include <string> #include <iostream> #include <cstdlib> #include <ctime> #include <functor> std::string filter(std::string const&); inline char random_char() { return std::rand() % ('a' - 'z') + 'a'; } int main() { // Zufallszahlengenerator initialisieren ... std::srand(static_cast<unsigned>(std::time(NULL))); // Generate String std::string random_string(20, 0); std::generate(random_string.begin(), random_string.end(), random_char); std::cout << filter(random_string) << std::endl; } std::string filter(std::string string) { unsigned int a(0); unsigned int e(0); for (std::string::const_iterator it(string.begin()); it != string.end(); ++it) if (*it == 'a') ++a; else if (*it == 'e') ++e; std::cout << "a: " << a << "mal; e: " << e << "mal\n"; std::remove_if(string.begin(), string.end(), std::bind2nd(std::equal_to<char>(), 'i')); return string; }fertig

-
Sollte es hier
inline char random_char() { return std::rand() % ('a' - 'z') + 'a'; }nicht'z'-'a'heißen statt andersrum?
-
Simon2 schrieb:
darcon schrieb:
...
Soweit ich weiß ist D(Evil) schwul, hat also nichts mit ihrem Geschlecht zu tun.Oder eben doch ... sind doch angeblich die besten Frauenversteher überhaupt.

Gruß,
Simon2.
Naja.. Ich bezweifle das, da darcon nicht angemeldet ist und wie gross ist die Wahrscheinlichkeit, dass jemand, der ihn kennt gerade jetzt reinkommt und das auch noch durch seinen Namen durchsieht, dass das der ist..

-
Falls (D)Evils Lösung zu "fortgeschritten" (d.h. für einen Anfänger schlicht unveständlich) ist, hier eine Alternative. Weiß ja nicht, auf welchem Niveau ihr schon seid.

#include<iostream> #include<cstdlib> #include<ctime> #include<string> using namespace std; string meinefunktion(string s) { int a = 0; int e = 0; int h = 0; // Hilfsvariable string hilf(20,'+'); //Hilfsstring der Größe 20 gefüllt mit dem Zeichen '+' for (int i=0; i < 20; i++) { if (s[i] == 'a') // Vokale a zählen a++; if (s[i] == 'e') // Vokale e zählen e++; if (s[i] != 'i') { hilf[h] = s[i]; //Werte ungleich 'i' in den Hilfsstring schreiben h++; //Hilfsvariable h gibt die nächste freie Position im Hilfsstring an } } hilf.resize(h); //Hilfsstring auf die Anzahl der hineingeschriebenen Zeichen verkürzen // Anzahl der Vokale a und e ausgeben cout << "a: " << a << endl; cout << "e: " << e << endl; return hilf; //Hilfsstring zurückgeben } int main() { cout<<"12.03.08\n\nSCHNICKY\nZufallsstring mit 20 Buchstaben\n\n"; srand (time(NULL)); string buchstaben(20,'+'); //String der Länge 20 gefüllt mit dem Zeichen '+' // Die Positionen 0 bis 19 des Strings "buchstaben" mit einem zufälligen Zeichen besetzen for (int i=0; i<20 ; i++){ buchstaben[i] = rand() % 26 + 97; } // Zufallsstring "buchstaben" an eine Funktion übergeben buchstaben = meinefunktion(buchstaben); // String ausgeben cout << buchstaben << endl; return 0; }Falls es reicht die Vokale i einfach durch ein Leerzeichen zu ersetzen tut es auch folgenden Funktion:
string meinefunktion(string s) { int a = 0; int e = 0; for (int i=0; i < 20; i++) { if (s[i] == 'a') a++; if (s[i] == 'e') e++; if (s[i] == 'i') s[i] = ' '; } // Anzahl der Vokale a und e ausgeben cout << "a: " << a << endl; cout << "e: " << e << endl; return s; }
-
Badestrand schrieb:
Sollte es hier
inline char random_char() { return std::rand() % ('a' - 'z') + 'a'; }nicht'z'-'a'heißen statt andersrum?Auszug aus dem Standard:
"... If both operands are nonnegative then the remainder is nonnegative; if not, the sign of the remainder is implementation-defined..."
Ich würde sagen wenn man es venünftig machen will, ist 'z'-'a' die eindeutig bessere Wahl.
