Статистика решения: 45,12% участников полностью решили задачу, 18,29% набрали 0 баллов.
Решение задачи:
Эта задача, одна из двух, которая решалась «в лоб» и не содержала подвохов.
1 способ. При решении задачи на Pascal-е можно было использовать тип string, так как максимальная длина строки 255 символов. После считывания очередной строки, необходимо изменить ее следующим образом: каждое найденное «слово» перевернуть на месте. Далее вывести эту строку.
2 способ. Более элегантный подход заключатся в том, что не надо анализировать текст по строкам, можно представить его в виде последовательности символом с переводами кареток. Для переворота «слов», можно использовать концепцию работы стека, накапливая символы в нем.
Здесь до конца файла считывается по одному символу. Если текущий символ латинский, то он является частью слова, поэтому он приписывается в начало строки s. Если символ не латинский, то на данной итерации либо конец «слова», либо просто продолжение текста. В последнем случае необходимо вывести перевернутое слово, очистить строку s, а также вывести только что считанный символ текста, уже не являющимся частью слова.
Комментарии:
Многие школьники не учитывали тот случай, когда в конце файла находиться «слово», но нет перевода каретки. В результате они теряли последнее слово. Было несколько школьников, которые забывали, что латинские буквы бывают заглавными.
Требуется перевернуть слова, состоящие из латинских букв, не трогая остальные.
Дан текст, состоящий из слов, знаков препинания и других символов. Словом в тексте считается последовательность символов из прописных и строчных букв латинского алфавита. Требуется перевернуть (записать в обратном порядке) все слова текста, оставив знаки препинания и другие символы, включая буквы русского алфавита, без изменений. В строке не более 255 символов, строк в файле не более 1000.
Примеры
Входные данные
Thisisveryveryverylongword
Выходные данные
drowgnolyrevyrevyrevsisihT
Входные данные
This test is very! easy and short.
But it's ,. mo:re difficult than first.
Выходные данные
sihT tset si yrev! ysae dna trohs.
tuB ti's ,. om:er tluciffid naht tsrif.