From 71d2ef6620f739a117d1dd6a0cd4647630f9d937 Mon Sep 17 00:00:00 2001 From: Joursoir Date: Thu, 4 Feb 2021 16:56:40 +0000 Subject: roman to arabic: fix accepting incorrect roman value --- snc.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/snc.c b/snc.c index 723e64f..635e5b1 100644 --- a/snc.c +++ b/snc.c @@ -35,8 +35,15 @@ int romanToArabic(char *str) amount_char = 1; } else if(last_value < cur_value) { + if(last_value * 10 < cur_value) + return -1; + else if(last_value == SNC_ROMAN_V || + last_value == SNC_ROMAN_L || last_value == SNC_ROMAN_D) + return -1; + answer += cur_value - 2 * last_value; - if(amount_char > 1) return -1; + if(amount_char > 1) + return -1; amount_char = 1; } last_value = cur_value; -- cgit v1.2.3-18-g5258