Перевод из римских цифр - Pascal ABC
Формулировка задачи:
Помогите, пожалуйста, решить задачу:
Напишите программу, которая заменяет в переданной её символьной строке все записанные в римской системе счисления, на те же числа, записанные арабскими цифрами.
Решение задачи: «Перевод из римских цифр»
textual
Листинг программы
Const RomanNumber: array[1..7] of char = ('I','V','X','L','C','D','M'); ArabsNumber: array[1..7] of integer = (1, 5, 10, 50, 100, 500, 1000); Var input: string; i, j, number: integer; begin Readln(input); number:= 0; for i:=1 to length(input) do for j:=1 to 6 do if RomanNumber[j] = input[i] then begin inc(number, ArabsNumber[j]); break; end; Writeln(number); end.
Объяснение кода листинга программы
- В первой строке объявляются два массива: RomanNumber и ArabsNumber.
- RomanNumber содержит 7 римских цифр, а ArabsNumber - их арабские эквиваленты.
- Затем объявляются следующие переменные:
- input - строка, в которую будет считываться римское число;
- i, j - индексы для перебора символов в строке;
- number - переменная, в которую будет переводиться число.
- Далее происходит чтение строки с римским числом в переменную input.
- Перебираются все символы в строке input.
- Для каждого символа перебираются все возможные римские цифры.
- Если символ в строке равен римской цифре, то к переменной number добавляется соответствующее арабское число.
- После завершения перебора всех символов, выводится значение переменной number.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д