Convert integer numbers to Roman numerals (C++) std::string IntegerToRoman(int number) { std::string roman = ""; std::string bigRoman = "";
int level = 0;
char romanChars[] = {'I', 'V', 'X', 'L', 'C', 'D', 'M'};
while (number > 0) { roman = ""; int num1 = number % 10; number -= num1; if (num1 >= 4 && num1 <= 9) { num1 = num1 - 5; if (num1 == 4) { roman = roman + romanChars[level + 2]; num1 = num1 - 5; } else { roman = roman + romanChars[level + 1]; }
} if (num1 == -1 || num1 == 4) { roman = romanChars[level] + roman; } else { while (num1 > 0) { num1 -= 1; roman += romanChars[level]; } } number = number / 10; level += 2;
bigRoman = roman + bigRoman; } return bigRoman; } |
Algorithms >