|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.07.2013, 22:01 | #1 |
Новичок
Джуниор
Регистрация: 21.07.2013
Сообщений: 6
|
В римской системе счисления
Напишите программу, складывающую два числа, записанных римскими цифрами. Результат должен выводиться также в римской нумерации. Сумма двух чисел не превышает 3000. Контроль корректности входных данных требуется. Если запись входного числа ошибочна, должно выводиться сообщение: «Ошибка ввода».
Правила римской нумерации: 1. I=1, V=5, X=10, L=50, C=100, D=500, M=1000. 2. Каждая цифра числа в десятичной системе счисления переводится в римскую запись отдельно. 3. Если меньшая стоит перед большей, то она вычитается. 4. Одна и та же цифра ставится не более трех раз подряд. Примеры: XIX (19), CCCXXXIII (333), CMXCIX (999), DCXC (690), XLIX (49), DCCCLXXXVIII (888), CCCXCVII (397) Пример входных данных: CLXXIX CCXLI Пример выходных данных: CDXX. |
22.07.2013, 11:18 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Вы знаете, я бы на вашем месте сделал так.
1) поиском по форуму нашёл готовое решение, которое позволяте переводить число из римской записи в арабскую и обратно (например, я такое решение выкладывал) 2) вводимые числа переводил в десятичное число (ну, точнее в челочисленное внутреннее представление числа -> Integer) 3) выполнял обыкновенную операцию сложения. 4) результат переводил из арабского числа в римское. и выдавал его. профит. |
22.07.2013, 16:11 | #3 | |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Цитата:
http://www.programmersforum.ru/showthread.php?t=29063 |
|
23.07.2013, 08:39 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
23.07.2013, 20:05 | #5 |
Новичок
Джуниор
Регистрация: 21.07.2013
Сообщений: 6
|
Да мне сдавать не надо никуда, я просто решаю для удовольствия да к олимпиадам готовлюсь! Вот попалась такая задача, сам наполовину решил, вот и решил поинтересоваться может кто по другому как решит)
Кстати я решал так: вводимые числа (в римской системе счисления) были вида string, далее переводил каждый символ в десятичную форму занося данные в массив; не получилось на второй стадии: каким образом переводить снова полученный результат в римскую систему счисления. p.s. здесь есть олимпиадники или бывшие олимпиадники по программированию?, если да, отзовитесь)) |
23.07.2013, 20:47 | #6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Да и ссылки выше здесь на форуме, разумеется, не единственные! наберите в поиске по форуму римскую - найдёте куча примеров и кода... |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Калькулятов в шестнадцатеричной системе счисления | Choppa | Общие вопросы Delphi | 2 | 22.05.2013 17:36 |
Перевод из римской системы счисления в десятичную и наоборот | Александр77777 | Помощь студентам | 3 | 19.01.2012 15:42 |
Уравнение в шестнадцатиричной системе счисления | catchmeifyoucan | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 17.01.2012 10:09 |
Длинная Арифметика в не 10^n системе счисления | svloyso | Общие вопросы C/C++ | 1 | 15.02.2011 16:05 |
Сложение в двоичной системе счисления | Volchara | Общие вопросы C/C++ | 2 | 23.04.2009 19:54 |