Преобразование арабского числа в римское - в чем ошибка? - 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++;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5
Похожие ответы