Java против C++
Апологеты Java и C++ могут часами спорить, доказывая друг другу, что их язык программирования лучший. Сторонники Java утверждают, что их программы более понятны и менее подвержены ошибкам, в то время как сторонники C++ смеются над их неспособностью создать массив обобщений или говорят, что их программы медленные и имеют длинный исходный код.
Еще одна проблема, по которой сторонники Java и C++ никогда не могут прийти к согласию, — это именование идентификаторов. В Java многословный идентификатор создается следующим образом: первое слово пишется с маленькой буквы, а последующие начинаются с заглавной буквы, разделители не используются. Все остальные буквы маленькие. Примеры идентификаторов Java: javaIdentifier, longAndMnemonicIdentifier, name, nEERC.
В отличие от них, сторонники C++ используют только маленькие буквы в своих идентификаторах. Для разделения слов они используют символ подчеркивания '_'. Примеры идентификаторов C++: c_identifier, long_and_mnemonic_identifier, name (вы видите, что когда есть только одно слово, сторонники Java и C++ согласны), n_e_e_r_c.
Вы пишете переводчик, который предназначен для перевода программ с C++ на Java и наоборот. Конечно, идентификаторы в переведенной программе должны быть отформатированы в соответствии с правилами языка — иначе людям никогда не понравится ваш переводчик.
Первое, что вы хотели бы написать, — это процедура перевода идентификаторов. Получив идентификатор, она должна определить, является ли он идентификатором Java или C++ и перевести его на другой диалект. Если он не является ни тем, ни другим, ваша процедура должна сообщить об ошибке. Перевод должен сохранять порядок слов и должен только изменять регистр букв и/или добавлять/удалять подчеркивания.
Входные данные
Входные данные состоят из одной строки, содержащей идентификатор. Она состоит из букв английского алфавита и символов подчеркивания. Ее длина не превышает 100.
Выходные данные
Если входной идентификатор является идентификатором Java, выведите его версию на C++. Если это идентификатор C++, выведите его версию на Java. Если это ни то, ни другое, выведите "Error!" вместо этого.