Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2013, 22:01   #1
Maxloki
Новичок
Джуниор
 
Регистрация: 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.
Maxloki вне форума Ответить с цитированием
Старый 22.07.2013, 11:18   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вы знаете, я бы на вашем месте сделал так.
1) поиском по форуму нашёл готовое решение, которое позволяте переводить число из римской записи в арабскую и обратно (например, я такое решение выкладывал)
2) вводимые числа переводил в десятичное число (ну, точнее в челочисленное внутреннее представление числа -> Integer)
3) выполнял обыкновенную операцию сложения.
4) результат переводил из арабского числа в римское. и выдавал его.
профит.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.07.2013, 16:11   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
(например, я такое решение выкладывал)
Наверное это? (Через Гугль попал...)
http://www.programmersforum.ru/showthread.php?t=29063
puporev вне форума Ответить с цитированием
Старый 23.07.2013, 08:39   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Наверное это? (Через Гугль попал...)
угу, точно так, Гугл не подвёл!

p.s. что-то автор темы молчит... То ли уже сделал и сдал, то ли затаился...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.07.2013, 20:05   #5
Maxloki
Новичок
Джуниор
 
Регистрация: 21.07.2013
Сообщений: 6
По умолчанию

Да мне сдавать не надо никуда, я просто решаю для удовольствия да к олимпиадам готовлюсь! Вот попалась такая задача, сам наполовину решил, вот и решил поинтересоваться может кто по другому как решит)
Кстати я решал так: вводимые числа (в римской системе счисления) были вида string, далее переводил каждый символ в десятичную форму занося данные в массив; не получилось на второй стадии: каким образом переводить снова полученный результат в римскую систему счисления.

p.s. здесь есть олимпиадники или бывшие олимпиадники по программированию?, если да, отзовитесь))
Maxloki вне форума Ответить с цитированием
Старый 23.07.2013, 20:47   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
каким образом переводить снова полученный результат в римскую систему счисления.
посмотрите по ссылочкам выше - там есть готовый код перевода десятичного числа в римское (в строку, разумеется).



Да и ссылки выше здесь на форуме, разумеется, не единственные! наберите в поиске по форуму римскую - найдёте куча примеров и кода...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Калькулятов в шестнадцатеричной системе счисления 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