Layout change

Условие

Часто происходит так, что пользователи, вводя текст на некотором языке, забывают переключить раскладку клавиатуры на этот язык. Если при этом пользователь не владеет методом слепой печати, он может обнаружить свою ошибку, уже набрав немалое количество текста. Чтобы избавить пользователя от необходимости перепечатывать весь текст в нужной раскладке, можно написать программу, которая сделает это за него.

Входные данные

На вход подается некоторая строка текста, который нужно изменить.

Выходные данные

Вывести исходную строку текста, «перепечатанную» в другой раскладке.

Примечание: Данная программа работает с русской и английской раскладкой клавиатуры. Весь текст, в какой бы из этих расскладок не был введен, перепечатывается в другой раскладке: русский — в английский, английский — в русский.

Тесты :

Ввод Вывод
Руддщб цщкдв! Hello, world!
Ghbdtn? vbh! Привет, мир!
Шэь пдфв ещ ыуу нщг I’m glad to see you
Rfr ltkf& Как дела?
ащк (ште ш = 0ж ш Б тж ш++) for (int i = 0; i < n; i++)

Код на Java:

Алгоритм:

В памяти хранятся строки соответствия. Каждому символу одной строки соответствует символ другой строки на той же позиции, но соответствующий символ — из другой раскладки.

Вводим строку, которую требуется заменить. Измененный вариант будет записываться в другой, временной строке.

Далее проходим по всей введенной строке. Если некоторый текущий символ можно заменить, записываем измененный символ. Если нет, то записываем исходный.

А в конце переписываем исходную строку и выводим ее:

Ссылки:

Рабочий код для тестирования на Ideone.com: Ideone.com