Anzahl eines Buchstabens im string ermitteln



  • 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.

    1. sind unter windows strings auch nur char arrays (bzw. unsigned short arrays)

    2. weisst du was bei deinem code passiert?
      Wenn ja, dann sag mir mal wieviele Ctor/Dtor aufrufe dein code erzeugt?

    3. 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)

    1. weisst du was bei deinem code passiert?
      Wenn ja, dann sag mir mal wieviele Ctor/Dtor aufrufe dein code erzeugt?

    2. 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;
    }
    


  • <newbie> ist ein Anfänger. Da sollte er nicht "string" verwenden.

    char ist da besser.
    Und schon garnicht
    cout

    Ist ja viel zu komplex.

    [ Dieser Beitrag wurde am 26.05.2003 um 16:13 Uhr von Unix-Tom editiert. ]



  • Original erstellt von Unix-Tom:
    **<newbie> ist ein Anfänger. Da sollte er nicht "string" verwenden.

    char ist da besser.**

    Und viel eleganter, egal ob wir hier das verstehen oder nicht. 😃



  • Char find ich komplizierter, string ist einfacher zu bedienen. Vor allem, wenns um Worte und Sätze geht. 😉



  • @Spieleprogrammierer: Hast du eigentlich schon das MFC-Forum entdeckt? Standard C++ ist im Moment _noch_ nix für dich... 😉



  • Naja, man kanns mit dem unqualifizierten Rumhacken auch übertreiben. Der «Spieleprogrammierer» hat mehrmals schon erwähnt, dass er Borlandnutzer ist.



  • Achso, w*****einlich überlesen. Naja, dafür gibt es ja auch ein extra Forum. 😉 .



  • Original erstellt von MaSTaH:
    @Spieleprogrammierer: Hast du eigentlich schon das MFC-Forum entdeckt? Standard C++ ist im Moment _noch_ nix für dich... 😉

    Schlaumeier, dann machs doch besser!!!



  • @Spieleprogrammierer:

    Du hast mein Posting nicht verstanden.

    string, count u.s.w. sind auch nur Klassen die das Programmieren vereinfachen.
    Klar kann man das Wöterzählen auch mit Schleifen machen. Man muss nichtmal eine FOR-Schleife machen. Geht auch mit WHILE. Geht auch mit char als Variablen u.s.w.
    Aber wie ich schon sagten. Klassenlibs gibt es um das Programmieren zu vereinfachen und Fehler zu vermeiden. Gerade für Anfänger.
    Wenn ich nach dir gehe, sollte ein Anfänger auch keine MFC,VCL,etc. verwenden.
    count() ist definitiv einfach Anzuwenden und man muss nichts von Interatoren, etc. verstehen. SOmit wiedersprichst du dich wenn du sagts
    string ist einfacher als char aber count() ist schwieriger als eine Schleife.
    Abgesehen davon das IMHO eine Schleife langsamer ist als ein Algo.



  • count ist ein Funktionstemplate, keine Klasse.


Anmelden zum Antworten