Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Event handler for converting from roman numbers to regular numbers
- private void convertToRegular_Click(object sender, EventArgs e)
- {
- string romanNumber = romanNumberBox.Text;
- int regularNumber = ToRegular(romanNumber);
- outputLabel.Text = regularNumber.ToString();
- }
- //Method for converting from roman numbers to regular numbers
- private int ToRegular(string romanNumber)
- {
- int[] regularNumbersArray = new int[14] { 1, 5, 10, 50, 100, 500, 1000, 1000, 5000, 10000, 50000, 100000, 500000, 1000000 };
- string[] romanNumbersArray = new string[14] { "I", "V", "X", "L", "C", "D", "M", "i", "v", "x", "l", "c", "d", "m" };
- int value = 0;
- int nextValue = 0;
- int romanNumberLength = romanNumber.Length;
- int regularNumber = 0;
- for (int i = 0; i < romanNumberLength; i++)
- {
- value = regularNumbersArray[Array.IndexOf(romanNumbersArray, romanNumber.Substring(i, 1))];
- if (i < romanNumberLength - 1)
- {
- char nextCharacter = romanNumber[i + 1];
- nextValue = regularNumbersArray[Array.IndexOf(romanNumbersArray, romanNumber.Substring(i + 1, 1))]; ;
- }
- if (nextValue <= value)
- regularNumber = regularNumber + value;
- else
- regularNumber = regularNumber - value;
- }
- return regularNumber;
- }
- //Event handler for converting from regular numbers to roman numbers
- private void convertToRoman_Click(object sender, EventArgs e)
- {
- int regularNumber = Convert.ToInt32(regulaNumberBox.Text);
- string romanNumber = ToRoman(regularNumber);
- outputLabel.Text = romanNumber;
- }
- //Method for converting from regular numbers to roman numbers
- private string ToRoman(int regularNumber)
- {
- int[] regularNumbersArray = new int[25] {1000000, 900000, 500000, 400000, 100000, 90000, 50000, 40000, 10000, 9000, 5000, 4000, 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5 , 4, 1 };
- string[] romanNumbersArray = new string[25] { "m", "cm", "d", "cd", "c", "xc", "l", "xl", "x", "ix", "v", "iv", "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" };
- string romanNumber = "";
- int remainder = regularNumber;
- int quotient = 0;
- for(int i = 0; i < regularNumbersArray.Length; i++)
- {
- quotient = remainder / regularNumbersArray[i];
- remainder = remainder % regularNumbersArray[i];
- for (int j = 0; j < quotient; j++)
- romanNumber = romanNumber + romanNumbersArray[i];
- }
- return romanNumber;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement