1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| using System;
namespace exos
{
class exo2
{
public static void Main(string[] args)
{
string input = Console.ReadLine();
char[] tabNonC = input.ToCharArray();
// Pour Tester ! foreach (int z in tabNonC) Console.WriteLine(z);
int[] tabConv = new int[tabNonC.Length];
//Conversion :
foreach (int l in tabNonC)
{
int i = 0;
switch (l)
{
case 'm': tabConv[l] = 1000;
break;
case 'd': tabConv[l] = 500;
break;
case 'c': tabConv[i] = 100;
break;
case 'l': tabConv[l] = 50;
break;
case 'x': tabConv[l] = 10;
break;
case 'v': tabConv[l] = 5;
break;
case 'i': tabConv[l] = 1;
break;
default: Console.WriteLine("La " + (l + 1) + " Lettre saisie n'est pas un chiffre romain");
break;
}
i++;
}
int sum = 0,n;
for (n = 0; n < tabConv.Length; n++)
{
if ((tabConv[n] < tabConv[n + 1]) & (n + 1 < tabConv.Length) | (n + 1 == tabConv.Length))
sum += tabConv[n];
else sum -= tabConv[n];
}
Console.WriteLine(input + "=" + sum);
Console.ReadLine();
}
}
} |
Partager