Что нужно исправить в этом коде, чтобы из глаз не шла кровь?
Что тут можно улучшить?std::string::insert вместо побуквенного перекладывания.newStr[i]+1 не работает для 'Я'->'А' и вообще сильно от кодировки зависит.
Давайте подумаем вместе:
- Разумно ли добавлять к строке по одному символу с точки зрения производительности?
- Можем ли мы решить задачу за один проход по итоговому массиву, а не за два в худшем случае как у вас сейчас?
- Знаем ли мы заранее длину итоговой строки?
- Можем ли мы в C++ создать строку заранее заданной длины?
- Есть ли в современном C++ способы пройтись по строке и трансформировать ее не используя явно дополнительные сущности типа индексов?
- Можем ли мы сделать так, чтобы программа работала для динамически задаваемых входных данных, а не для вкомпиленных?
Кроме того - у вас серьезная ошибка в этой строчке:
newStr[i] = newStr[i]+1;
перечитайте условие.