Преобразование арабского числа в римское - в чем ошибка? - C#
Формулировка задачи:
программа простая, перевести арабские числа в римские, но ошибка использования else
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace рим
{
class Program
{
static void Main(string[] args)
{
int[] mas1 = {1000, 900, 500,400,100,90,50,40,10,9,5,4,1};
string[] mas2 = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
Console.Write("Введите число в арабской десятичной системе = ");
int n = Convert.ToInt32(Console.ReadLine());
int i;
i = 0;
string s = "";
while (n > 0)
{
if (mas1[i] <= n) // i - элемент массива арабских цифр меньше либо равен числу n то
n = n - mas1[i]; // от числа вычитаем его эквивалент в массиве арабском
s = s + mas2[i]; // в строку записываем его римское значение
else i++;
}
Console.Write("число в римской системы счисления = ");
Console.Write(s);
Console.ReadLine();
}
}
}Решение задачи: «Преобразование арабского числа в римское - в чем ошибка?»
textual
Листинг программы
if (mas1[i] <= n)// i - элемент массива арабских цифр меньше либо равен числу n то
{
n = n - mas1[i]; // от числа вычитаем его эквивалент в массиве арабском
s = s + mas2[i]; // в строку записываем его римское значение
}
else i++;