@Gagatyn
Самоучка

Как декодировать римскую запись числа?

Декодировать римскую запись числа, состоящего из любого количества знаков. Правила: I -> 1, V -> 5, X -> 10, L -> 50, C -> 100, D -> 500, M -> 1000. Значение римской цифры не зависит от позиции, а знак - зависит.
Как сделать такую программку в консольке с++? Не могу сообразить, слишком много операций, хоть и буквы повторяются.
эммм... нужно приравнять к 10 строкам символы, римские от I-X, если число 11 то пишем Х и добавляем первую стоку. Сложно
А если взять массив и приравнять римские цифры от I-X, а потом... ссылки...???
  • Вопрос задан
  • 3419 просмотров
Решения вопроса 3
pi314
@pi314
Президент Солнечной системы и окрестностей
Так же, как любyю другую непозиционную систему счисления... как-то вот так. Читайте, разбирайтесь, пишите свою программку ;)
Ответ написан
Комментировать
sim3x
@sim3x
code.activestate.com/recipes/81611-roman-numerals

На своем яп ищи в гугле
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Можно наипростейшим образом - сравнивать начало строки со стандартными римскими числами
-      1   2   3   4   5   6   7   8   9
x1     I  II  III  IV  V  VI  VII VIII IX
x10    X  XX  XXX  XL  L  LX  LXX LXXX XC
x100   C  CC  CCC  CD  D  DC  DCC DCCC CM
x1000  M  MM  MMM

А можно и конечный автомат расписать
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы