vovaMakarovych (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Не правильно работают индексы в цикле
 
У меня есть функция  которая кторая переводит с одной системы в  другу. И мне кажется я не совсем правильно передаю  двумерный массив . Например тут
Код
while(decimalNum / mapping[y][x]) do
мне нужно брать например  цифру
а тут букву
Код
table.insert(romanNum, mapping[y][x + 1])
Код
function decimalToRoman(decimalNum)
  local mapping = 
  { 
    {1000, "M"},
    {900, "CM"}, 
    {500, "D"},
    {400, "CD"},
    {100, "C"},
    {90, "XC"}, 
    {50, "L"},
    {40, "XL"},
    {10, "X"},
    {9, "IX"},
    {5, "V"},
    {4,"IV"}, 
    {1, "I"}
  }
  
  local romanNum = {}
  while decimalNum ~= 0 do
    for y = 1, #mapping do
      for x = 1, #mapping[y] do
        while(decimalNum / mapping[y][x]) do
          table.insert(romanNum, mapping[y][x + 1])
          decimalNum = decimalNum - mapping[y][x];
        end
      end
    end
   end
  return romanNum
end

Или может в  другом месте у меня ошибка....
Страницы: 1
Наверх