Anzahl der wiederholenden Buchstaben im String zählen



  • Dieser Beitrag wurde gelöscht!


  • Moin @learningbydoing,
    Du brauchst eine Variable, die du bei einem Fund des gewünschten Buchstaben inkrementierst.
    Den gesuchten Buchstaben vergleichst Du (if ...) mit dem Inhalt (char) in der aktuellen Position (i, Achtung, die Position fängt bei 0 an).
    Zuletzt gibst Du die ggf. aufsummierte Variable aus.
    BTW. In C++ wird gerne std::string anstelle von einem Char-Array verwendet.



  • @Helmut-Jakoby Perfekt, danke.
    Das hat mir sehr geholfen.


  • Mod

    Was ist an der Frage jetzt anders als an deiner vorherigen? Wenn du das nicht auf dieses gleichartige Problem übertragen kannst, wird das nichts mit Learning by Doing.



  • Nochmal die Frage: willst du C++ oder C lernen? Weil das hier ja der Forumsbereich C++ ist.

    Hier gilt im Regelfall für Texte: nimm nicht char[], sondern std::string.

    Also:

    // nicht:
    char Str[] = "Teste Programme mit dem Buchstaben e";
    // sondern
    std::string Str = "Teste Programme mit dem Buchstaben e";
    

    Dann kannst du die Länge auch einfach mit Str.size() oder Str.length() anfragen und brauchst kein sizeof, das sowieso nicht mehr funktioniert, sollte das Array zB durch Übergabe an eine Funktion in einen Pointer zerfallen sein. (Abgesehen davon, dass du häufig bei C-Strings die Länge gar nicht brauchst und stattdessen einfach auf den Nullterminator checken kannst)

    Und übrigens ist sizeof(char) per Definition 1. Immer.

    Dafür enthält dein sizeof(Str) den Nullterminator. Du kannst also auch noch leichter um 1 daneben liegen.


  • Mod

    In C++ würde man sowieso nicht mit einer Zählvariable durch eine Sequenz gehen, sondern mit einer range-based Schleife. Sofern man so etwas denn überhaupt selber ausprogrammieren würde, siehe Antwort im anderen Thread.


Anmelden zum Antworten