Помощь - Поиск - Пользователи - Календарь
Полная версия: Строки, римское число>>арабское
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
UserOK!
Задание:
Цитата
Дан текст из заглавных латинских букв,за которыми следует пробел. Определить, является ли этот текст правильной записью римскими цифрами целого числа от 1 до 999, и, если является, напечатать это число арабскими числами (в десятичной системе).

Компилятор: Turbo Pascal 7.0
Как сделать - вообще непредставляю, помогите хоть с алгоритмом?, плиз
Кстати, вот прога, выполняющая обратную операцию:
Код

uses crt;
const
  R: array[1..13] of String = ('I', 'IV', 'V', 'IX', 'X', 'XL', 'L',
                                    'XC', 'C', 'CD', 'D', 'CM', 'M');
  A: array[1..13] of Integer = (1, 4, 5, 9, 10, 40, 50,
                                      90, 100, 400, 500, 900, 1000);
var
  i, dec: Integer; rom: String;
begin
  clrscr;
  Write('Vvedite 4islo ot 1 do 1999: '); ReadLn(dec);
  rom := '';
  for i := 13 downto 1 do
    while (dec >= A[i]) do
     begin
      dec := dec - A[i];
      rom := rom + R[i];
     end;
  WriteLn('Roman: ', rom);
  readkey

P.S. Спасибо, за то, что здесь мне раз уже помогали, хороший проект! smile.gif
volvo
UserOK!, тебе сюда:
FAQ: Общие вопросы по математике (ниже по тексту)...

Цитата(FAQ)
Работа с римскими числами
Как проверить, является ли введенная с клавитуры строка римским числом, и перевести ее в арабское число?
Гость
Ну вот! Опять спасли! Огромное спасибо! beer.gif applause.gif respect.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.