Ich habe eine Hausaufgabe, die erfordert, dass ich eine rekursive Funktion verwende, um die Anzahl von einem in einem Benutzer angegebenen String zu zählen. Ich möchte die Antwort nicht geben, aber wenn mir jemand eine kleine Anleitung geben könnte wäre das toll. Es nennt sich korrekt selbst, aber ich kann nicht herausfinden, wie man die Anzahl von a richtig zählt. Hier ist mein Code.Ich kann meine rekursive Funktion nicht erhalten, um Buchstaben in einem String richtig zu zählen (C++)
int charCounter(string str, int counter)
{
if (str == "")
{
return counter;
}
else if (str.substr(1) == "a");
{
counter++;
return counter + charCounter(str.substr(1),counter);
}
}
Hinweis: Eine 'string' besteht aus' char's. – CinCout
Verwenden Sie für eine kleine Zeichenfolge einen Debugger, und durchlaufen Sie den Code Zeile für Zeile und geben Sie die rekursiven Aufrufe ein. Die * zwei * Probleme (zumindest), die du hast, sollten dann schnell offensichtlich werden. –
Ich schlage vor, dass Sie einen Debugger verwenden oder cout-Anweisungen hinzufügen, um zu sehen, was Ihre Funktionen tun. Überprüfen Sie auch, was der Parameter für 'substr()' bedeutet. –