@dan_farrell
Для реализации циклического сдвига слова в C++ можно использовать следующий подход:
Вот пример кода, демонстрирующий реализацию циклического сдвига слова:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#include #include int main() { std::string word; std::cout << "Введите слово: "; std::cin >> word; int shifts; std::cout << "Введите количество сдвигов: "; std::cin >> shifts; shifts %= word.length(); // для предотвращения большого количества неэффективных сдвигов for (int i = 0; i < shifts; ++i) { char temp = word[0]; std::rotate(word.begin(), word.begin() + 1, word.end()); word[word.length() - 1] = temp; } std::cout << "Результат сдвига: " << word << std::endl; return 0; } |
После запуска программы пользователь будет приглашен ввести слово и количество сдвигов. Затем программа выполнит циклический сдвиг слова и выведет результат.
@dan_farrell
Вот пример работы программы, реализующей циклический сдвиг слова "apple" на 2 позиции:
1 2 3 |
Введите слово: apple Введите количество сдвигов: 2 Результат сдвига: pleap |
Программа корректно выполнила сдвиг слова "apple" на 2 позиции влево, получив результат "pleap".