Question
Write a program to convert roman numerals into their arabic equivalent. INPUT REQUIREMENTS Read one or more roman numerals from standard input. Process one line
Write a program to convert roman numerals into their arabic equivalent.
INPUT REQUIREMENTS
Read one or more roman numerals from standard input. Process one line at a time. Each input line contains only one roman numeral, starting in column one. Assume the characters are all upper case with no embedded blanks.
OUTPUT REQUIREMENTS
The arabic equivalent of each input roman numeral is displayed on standard output, starting in column one. FUNCTIONAL REQUIREMENTS
Here are the arabic equivalents for roman symbols:
The "basic" roman symbols The "auxiliary" roman symbols I X C M V L D 1 10 100 1000 5 50 500
Convert the roman numeral to arabic processing the symbols from left to right according to the following rules: 1. A symbol following one of greater or equal value adds to its value. (E.g., XII = 12) 2. A symbol preceding one of greater value subtracts its value.(E.g., IV = 4; XL = 40)
ERROR HANDLING REQUIREMENTS
In each of the error conditions below, display the given message and skip the numeral and continue processing the next line.
"1 Invalid character in input. Valid characters are I,V,X,L,C,D,M." RULE: Only the listed characters are valid.
"2 Invalid numeral: can't subtract auxiliary symbol." RULE: It is not permitted to subtract an "auxiliary" symbol. (CML, not LM = 950; XLV not VL, = 45).
"3 Invalid numeral: two consecutive subtractions." RULE: Can't do two subtractions in a row, thus LIVX is illegal.
"4 Invalid numeral: additions don't decrease." RULE: Additions must decrease, as you go from left to right. Thus, each symbol added must have a value equal or less than the last symbol which was added. Thus, LIIX is wrong, cause we added L, added I, subtracted I, then try to add X.
"5 Invalid repetition of V, L or D": RULE The symbols V, L and D are never repeated.
"6 Too long repetition": RULE A symbol is not repeated more than three times.
"7 Wrong subtraction" RULE The symbol I can be subtracted from V and X only. The symbol X can be subtracted from L, M, and C only. The symbol C can be subtracted from D and M.
"8 Cannot subtract more than one from a particular symbol" RULE A symbol cannot be subtracted more than once from a particular symbol of greater value. In other words, we cannot repeat a symbol on the left side of a symbol. Eg, 98 is written as XCVIII and not as IIC.
Read a string from the keyboard that codifies a roman number and print on the screen either the arabic number that corresponds to it or the first rule number that is not observed in the string from the left to right. If more than one rule is not observed in the roman number you should print only ONE rule from the ones described above (1 to 8).
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Here is a Python program that converts Roman numerals to Arabic numbers while also implementing erro...Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started