Write a C# Sharp program to convert a given Roman numerals value to an integer value

  • برمجة سي شارب
  • برمجة

Write a C# Sharp program to convert a given Roman numerals value to an integer value. 
Expected Output:
Original integer value: MMCCCLXV
Integer value of the said Roman numerals:
2365
Original integer value: CCLIV
Integer value of the said Roman numerals:
254
Original integer value: XLV
Integer value of the said Roman numerals:
45
Original integer value: VIII
Integer value of the said Roman numerals:
8

الأجوبة

using System;
using System.Text;
namespace exercises {
  class Program {
    static void Main(string[] args) {
      string s;
      s = "MMCCCLXV";
      Console.WriteLine("Original integer value: " +s);
      Console.WriteLine("Integer value of the said Roman numerals:");
      Console.WriteLine(roman_to_int(s));
      s = "CCLIV";
      Console.WriteLine("Original integer value: " + s);
      Console.WriteLine("Integer value of the said Roman numerals:");
      Console.WriteLine(roman_to_int(s));
      s = "XLV";
      Console.WriteLine("Original integer value: " + s);
      Console.WriteLine("Integer value of the said Roman numerals:");
      Console.WriteLine(roman_to_int(s));
      s = "VIII";
      Console.WriteLine("Original integer value: " + s);
      Console.WriteLine("Integer value of the said Roman numerals:");
      Console.WriteLine(roman_to_int(s));	  
      }
    public static int roman_to_int(string str1)
        {
            var num = 0;
            for (int i = 0; i < str1.Length; i++)
            {
                if (i > 0 && find_value(str1[i]) > find_value(str1[i - 1]))
                {
                    num += find_value(str1[i]) - find_value(str1[i - 1]) * 2;
                }
                else
                {
                    num += find_value(str1[i]);
                }
            }
            return num;
        }	
	   public static int find_value(char chr)
        {
            switch (chr)
            {
                case 'I': return 1;
                case 'V': return 5;
                case 'X': return 10;
                case 'L': return 50;
                case 'C': return 100;
                case 'D': return 500;
                case 'M': return 1000;
                default: return 0;
            }
        }	
    }
  }
هل كان المحتوى مفيد؟

تبحث عن مدرس اونلاين؟

محتاج مساعدة باختيار المدرس الافضل؟ تواصل مع فريقنا الان لمساعدتك بتأمين افضل مدرس
ماهو التخصص الذي تبحث عنه؟
اكتب هنا...