C# :: Aufgabe #100 :: Lösung #2

9 Lösungen Lösungen öffentlich
#100

Jahreszahlenkonverter für römische Schreibweise

Anfänger - C# von BlackBird321 - 04.06.2015 um 22:36 Uhr
Bitte schreibe ein Programm, welches eine einzugebende Jahreszahl in eine römische Schreibweise umwandelt.

Beispiel:

1995 = MCMXCV
2015 = MMXV
#2
vote_ok
von DBqFetti (2480 Punkte) - 07.06.2015 um 12:06 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Text;

namespace Römische_Zahlen {
	class Program {
		static void Main(string[] args) {
			Console.Write("Jahr> ");
			Console.Write("Röm.: " + intToRoman(Convert.ToInt32(Console.ReadLine())));
		}

		static string intToRoman(int arabic) {
			if (arabic < 1 || arabic > 4999) return "";
			StringBuilder sb = new StringBuilder();

			Dictionary<char, int> RomanNumerals = new Dictionary<char, int>(){
				{'M', 1000}, {'D', 500}, {'C', 100}, {'L', 50}, {'X', 10}, {'V', 5}, {'I', 1}
			};
			foreach (KeyValuePair<char, int> Numeral in RomanNumerals)
				while (arabic >= Numeral.Value) {
					arabic -= Numeral.Value;
					sb.Append(Numeral.Key);
				}

			Dictionary<string, string> Replacements = new Dictionary<string, string>(){
				{"DCCCC", "CM"}, {"CCCC", "CD"}, {"LXXXX", "XC"}, {"XXXX", "XL"}, {"VIIII", "IX"}, {"IIII", "IV"}
			};
			foreach (KeyValuePair<string, string> Replacement in Replacements)
				sb.Replace(Replacement.Key, Replacement.Value);

			return sb.ToString();
		}
	}
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben