Мне нужно вставить символ в строку в каждом экземпляре этого символа. Например, если моей строкой было «Это тест», а моим символом было «s», мой вывод должен выглядеть так: «Это тест»
есть идеи, почему это не работает? Вот что у меня так далеко. Я не должен добавлять какие-либо дополнительные инструкции препроцессора или что-то еще, просто используя то, что здесь, мне нужно это выяснить.
#include <iostream>
#include <string>
using namespace std;
int main(){
string userString;
char userChar;
cin >> userString;
cin >> userChar;
for (int i = 0; i < userString.size(); i++){
if(userString.at(i) == userChar){
userString.insert(userString.begin() + i, userChar);
}
}
cout << userString;
return 0;
Обновление:
Вот решение, которое я разработал.
#include <iostream>
#include <string>
using namespace std;
int main(){
string userString;
char userChar;
cout << "enter a string" << endl;
getline(cin, userString);
cout << "enter a character" << endl;
cin >> userChar;
for (int i = userString.size()-1; i >= 0; i--){
if(userString.at(i) == userChar){
userString.insert(userString.begin() + i, userChar);
}
}
cout << userString;
return 0;
}