Код:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
string s; int k;
getline(cin, s);
cin >> k;
for (auto& c : s)
{
if (c >= 'a' && c <= 'z')
c = ((c - 'a' + k) % 26) + 'a';
else if (c >= 'A' && c <= 'Z')
c = ((c - 'A' + k) % 26) + 'A';
}
cout << s << endl;
}
Вы естественно заметили, что вместо того, чтобы использовать index()метод, я вычел из исходного символа c 'a',чтобы получить индекс. Это потому, что компьютер обрабатывает символы как специальные unsigned int (беззнаковые целочисленные), обычно однобайтовые. Часовой пояс GMT +3, время: 11:40.