Таким образом, функция должна возвращать все заглавные буквы из строки, но возвращает только первую букву, ЕСЛИ это заглавная буква. Поэтому я считаю, что i + 1
не работает. А также, я должен использовать рекурсию для этого кода. Мне не разрешено использовать isupper()
или любые другие "ярлыки". Так кто-нибудь видит, что не так в коде?
string Return_Caps(const string& s, int pos = 0){
string temp;
string a;
if(s[pos] < 'A' && s[pos] > 'Z'){ // if the position does not have any capital letters, return a
return a;
}
else{
if(s[pos] >= 'A' && s[pos] <= 'Z'){
temp = temp + s[pos];
Return_Caps(s, pos + 1);
}
}
return temp;
}