Advertisement
Guest User

ASCEND

a guest
Jun 20th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.91 KB | None | 0 0
  1. //Event handler for converting from roman numbers to regular numbers
  2.         private void convertToRegular_Click(object sender, EventArgs e)
  3.         {
  4.             string romanNumber = romanNumberBox.Text;
  5.             int regularNumber = ToRegular(romanNumber);
  6.             outputLabel.Text = regularNumber.ToString();
  7.         }
  8.  
  9.         //Method for converting from roman numbers to regular numbers
  10.         private int ToRegular(string romanNumber)
  11.         {
  12.             int[] regularNumbersArray = new int[14] { 1, 5, 10, 50, 100, 500, 1000, 1000, 5000, 10000, 50000, 100000, 500000, 1000000 };
  13.             string[] romanNumbersArray = new string[14] { "I", "V", "X", "L", "C", "D", "M", "i", "v", "x", "l", "c", "d", "m" };
  14.  
  15.             int value = 0;
  16.             int nextValue = 0;
  17.             int romanNumberLength = romanNumber.Length;
  18.             int regularNumber = 0;
  19.  
  20.             for (int i = 0; i < romanNumberLength; i++)
  21.             {
  22.                 value = regularNumbersArray[Array.IndexOf(romanNumbersArray, romanNumber.Substring(i, 1))];
  23.  
  24.                 if (i < romanNumberLength - 1)
  25.                 {
  26.                     char nextCharacter = romanNumber[i + 1];
  27.                     nextValue = regularNumbersArray[Array.IndexOf(romanNumbersArray, romanNumber.Substring(i + 1, 1))]; ;
  28.                 }
  29.  
  30.                 if (nextValue <= value)
  31.                     regularNumber = regularNumber + value;
  32.                 else
  33.                     regularNumber = regularNumber - value;
  34.             }
  35.             return regularNumber;
  36.         }
  37.  
  38.         //Event handler for converting from regular numbers to roman numbers
  39.         private void convertToRoman_Click(object sender, EventArgs e)
  40.         {
  41.             int regularNumber = Convert.ToInt32(regulaNumberBox.Text);
  42.             string romanNumber = ToRoman(regularNumber);
  43.             outputLabel.Text = romanNumber;
  44.         }
  45.  
  46.         //Method for converting from regular numbers to roman numbers
  47.         private string ToRoman(int regularNumber)
  48.         {
  49.             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 };
  50.             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" };
  51.  
  52.             string romanNumber = "";
  53.             int remainder = regularNumber;
  54.             int quotient = 0;
  55.  
  56.             for(int i = 0; i < regularNumbersArray.Length; i++)
  57.             {
  58.                 quotient = remainder / regularNumbersArray[i];
  59.                 remainder = remainder % regularNumbersArray[i];
  60.  
  61.                 for (int j = 0; j < quotient; j++)
  62.                     romanNumber = romanNumber + romanNumbersArray[i];
  63.             }
  64.             return romanNumber;
  65.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement