Другие языки программирования и технологии

Задачка на Паскале,чето не понял,что от меня хотят?)

Дан текст из заглавных латинских букв, за которым следует пробел. Определить является ли этот текст правильной записью римскими цифрами целого числа от 1 до 999.
Заглавными латинскими буквами принято обозначать римские цифры.
"Кампутер" правильно подсказал! :-)
Эдуард Ковалёв
Эдуард Ковалёв
29 246
Лучший ответ
Задача достаточно нетривиальная

Во-первых существует множество вариантов записи
вот статья в Wiki http://ru.wikipedia.org/wiki/Р РёРјСЃРєРёРµ_цифры

Нужно выбрать один вариант и по нему уже смотреть, в статье и примеры программ есть
нормально там всё.. в глобальные массив определяем римских цифр, если не то, вылетаем из цикла, если подходит, считаем... Do case и проблема решена
Валерий Усков
Валерий Усков
8 140
римские цифры, например: XXI или IV, а дальше пробел. что тут не понятного?
Konstantin Zazdravnyj
Konstantin Zazdravnyj
5 461
По-моему задача непростая.
Понятно, что нужно проверять сначала, чтобы в строке до пробела содержались только буквы I V X L C D M
Предлагаю разбить строку условно на сотни, десятки и единицы.
1) первая часть должна содержать только M, D или C и оканчиваться на M или D. Может быть пустой.
2) вторая часть может содержать только C, L или X, и оканчиваться на C или L. Может быть пустой.
3) третья часть может содержать тоьько X V или I. Пустой быть не может.
Если не получилось разбить - то ошибка.
Теперь надо рассмотреть каждую из частей. Проверка по ним выполняется одинакого, заменой соответствующих букв.
Например, проверяя первую часть, можно заменить M на X, D на V, C на X и выполнить аналогичную проверку "последней" части.
Эту последнюю часть предлагаю проверять перечислением.
Забить 40 строк и с каждой сравнивать.
строки эти I II III IV V VI VII IX X XI XII XIII XIV XV XVI XVII XVIII XIX XX XXI XXII XXIII XIV XV XVI XVII XXIX XXX XXXI XXXII XXXIII XXXIV XXXV XXXVI XXXVII XXXVIII XXXIX
Наверное это будет корректно. Но может и нет

Дополнение: да, это не совсем верно. Точнее, существуют строки, подходящие под такое описание, но не являющиеся римскими числами.
0_o
Буквы X, V, I, L, M, C - остальные исключить. Далее проверка - какая буква на каком месте, задача-то элементарная.
Гордеев Антон
Гордеев Антон
1 912
Денис Коновалов да вы что? А каким числом является CXCVCICICIC например? По буквам же подходит.
Эдуард Ковалёв Думать надо, на то "оно" и программирование...