Anzahl eines Buchstabens im string ermitteln
-
gut, du empfiehlst ihn dass - aber ich habe immer noch keine gegenargumente gehoert (siehe Humes Link)
Anfaenger zu sein zaehlt nicht.
er kann selber sagen dass es ihm zu kompliziert ist und ers gern erklaert haben moechte, bzw. wissen moechte wie count() zu implementieren waere.aber solange er das nicht fragt sehe ich keinen grund ihm schwachsinn anzugewoehnen - da brauchts dann wieder n paar Monate bis er sich das wieder abgewoehnt hat...
wie soll man so guten stil programmieren lernen??
-
Original erstellt von Spieleprogrammierer:
**(Also Schleifen schneller zu programmieren).
**Also ich find ein count(s.begin(),s.end(),...); immer noch schneller programmiert wie eine schleife ;o)
-
Vom Text her, aber wenn er damit nix anzufangen weiß, dann schaut er wieder ewig lang in deisen Hilfen nach, die meistens garnicht helfen, und so zieht sich das in die länge. Aber bei Schleifen wieß jeder, was damit gemeint ist, schreibt es hin, kortrigiert vielleicht noch kleinere Fehler und fertig.
-
... und so ziehen die einen die sich die Arbeit mal gemacht haben die Hilfe zu benutzen an denen vorbei die immer schnell mit den schleifen fertig waren ...
Mal im ernst, ich denke jeder hat verstanden was Du meinst. Dennoch sollte sich jeder mit neuem auseinandersetzen. Irgendwann passiert es sonst das andere fertig sind wärend Du Dir noch gedanken um die Schleife machst.
Hast Du Dir schon mal die Algos angeschaut mit Iteratoren etc. ? Alles hab ich da auch nicht verstanden aber sehr hilfreich das ganze und in vielen Situationen würde ich mehr Zeit damit verbingen die schleife zu coden (Hach mist ich lauf nen Element zu viel....) als die Algos zu verwenden.
-
was ist an "count" unverständlich?
Hume hat übrigens einen guten Link angegeben. schon durchgelesen?
-
Nix, für dich nicht, für mich nicht, aber für einem Anfänger schon, und Schleifen sind einfach mal eleganter, ob das hier jemand glaubt oder nicht.
-
(bezüglich deiner lösung ohne count)
woher soll der benutzer denn wissen, das std::string die methode length kennt? und den operator[]? du siehst, neues lernen muss man in jedem fall.und nebensächlich:
cout<<ch<<" kommt "+z+" mal im Wort/Satz vor."; //sollte wohl heißen: cout<<ch<<" kommt "<<z<<" mal im Wort/Satz vor.";
-
Original erstellt von Spieleprogrammierer:
dann schaut er wieder ewig lang in deisen Hilfen nach, die meistens garnicht helfenna hoffentlich tut er das - wenn er wirklich in die hilfe schaut, haben wir schon viel gewonnen.
denn dann wird er sehen, dass das garnicht so unuebersichtlich ist und das man eigentlich alles finden kann was man sucht (man muss es halt nur ueben)
und wenn er schon frueh anfaengt nachzusehen, dann sparen wir uns fragen zu einzelnen funktionen zu beantworten, denn dann kann er ja selber nachsehen...
jeder der seine hilfe nicht bedienen kann, der sollte das schleunigst ueben.
-
Original erstellt von davie:
**(bezüglich deiner lösung ohne count)cout<<ch<<" kommt "+z+" mal im Wort/Satz vor."; //sollte wohl heißen: cout<<ch<<" kommt "<<z<<" mal im Wort/Satz vor.";
**
Jaja, ich sag ja: Kleinlich. Tut mir leid, ich programmiere nunmal in Windowsprogrammierung, und da kann man Strings einfach so addieren.
-
Original erstellt von Shade Of Mine:
**na hoffentlich tut er das - wenn er wirklich in die hilfe schaut, haben wir schon viel gewonnen.denn dann wird er sehen, dass das garnicht so unuebersichtlich ist
**template<class InputIterator, class T> iterator_traits<InputIterator>::difference_type count(InputIterator first, InputIterator last, const T& value);
... ohne Worte ...
-
Das hat nichts mit kleinlichkeit zu tun.
Wenn ein Anfänger frisch Programmiert und was falsches gezeigt bekommt tut er sich schwer zu verstehen wieso es eigentlich anderst laufen sollte....
-
hier ist ja heute wirklich was geboten
-
Original erstellt von Spieleprogrammierer:
Jaja, ich sag ja: Kleinlich. Tut mir leid, ich programmiere nunmal in Windowsprogrammierung, und da kann man Strings einfach so addieren.-
sind unter windows strings auch nur char arrays (bzw. unsigned short arrays)
-
weisst du was bei deinem code passiert?
Wenn ja, dann sag mir mal wieviele Ctor/Dtor aufrufe dein code erzeugt? -
du solltest auch erstmal klein anfange bevor du dich an die 'windowsprogrammierung' (vermutlich MFC?) wagst...
-
-
Original erstellt von Bashar:
... ohne Worte ...ich meine die hilfe :p
da steht (zumindest bei mir) immer ein schoenes beispiel drunter
und frueher oder spaeter wird man sich an diese beschissene syntax gewoehnen muessen...
-
Original erstellt von Shade Of Mine:
**1) sind unter windows strings auch nur char arrays (bzw. unsigned short arrays)-
weisst du was bei deinem code passiert?
Wenn ja, dann sag mir mal wieviele Ctor/Dtor aufrufe dein code erzeugt? -
du solltest auch erstmal klein anfange bevor du dich an die 'windowsprogrammierung' (vermutlich MFC?) wagst...**
zu 1) Trotzdem kann man sie addieren
zu 2) Ja, ich weiß, was bei meinem Code passiert, wenn man diesen kleinen Fehler ausgleicht, und zwar zählt mein Code, wie oft ein Zeichen in einem String vorkommt, das man eingibt.
zu 3) ich habe klein angefangen, vor 4 Jahren mit HTML und habe vor ca. 2,5 Jahren angefangen mit C++ mit leider 1/2 Jahr Pause, die auch 1 Jahr her ist. und ich programmiere mit Borland Builder 3 und 6.
[ Dieser Beitrag wurde am 26.05.2003 um 15:45 Uhr von Spieleprogrammierer editiert. ]
-
-
Original erstellt von Spieleprogrammierer:
**zu 1) Trotzdem kann man sie addieren
**nicht wenn wir hier von C oder C++ sprechen
zu 2) Ja, ich weiß, was bei meinem Code passiert, wenn man diesen kleinen Fehler ausgleicht, und zwar zählt mein Code, wie oft ein Zeichen in einem String vorkommt, das man eingibt.
ich meinte die zeile:
cout<<ch<<" kommt "+z+" mal im Wort/Satz vor.";
wenn man annimmt dass z ein string waere - aber ich hab gerade gesehen dass es ein int ist -> fehler
-
Original erstellt von Shade Of Mine:
**[quote]Original erstellt von Spieleprogrammierer:
[qb]zu 1) Trotzdem kann man sie addieren
**nicht wenn wir hier von C oder C++ sprechen
zu 2) Ja, ich weiß, was bei meinem Code passiert, wenn man diesen kleinen Fehler ausgleicht, und zwar zählt mein Code, wie oft ein Zeichen in einem String vorkommt, das man eingibt.
ich meinte die zeile:
cout<<ch<<" kommt "+z+" mal im Wort/Satz vor.";
wenn man annimmt dass z ein string waere - aber ich hab gerade gesehen dass es ein int ist -> fehler[/QB][/QUOTE]Schuldige, dass du an mir vorbeiredest, aber das mit dem Strings addieren meine ich in Windowsprogrammierung, das mit dem 2 Pluszeichen, dazu sagte ich bereits, dass ich mich vertippt habe, alles klar?
[ Dieser Beitrag wurde am 26.05.2003 um 15:54 Uhr von Spieleprogrammierer editiert. ]
-
ich mach auch 'Windowsprogrammierung' (leider nicht mehr lang) und bei mir kann ich keine strings plusen? wie kommt das :p
-
Keine Ahnung, kann sein, dass es am kompiler liegt, bei Borland gehts.
-
meinst du vielleicht:
#include <string> #include <iostream> using namespace std; string a = "Hello"; string space = " "; string b = "World!\n"; int main () { cout << a + space + b; }