Не правильно работают индексы в цикле

Страницы: 1
RSS
Не правильно работают индексы в цикле
 
У меня есть функция  которая кторая переводит с одной системы в  другу. И мне кажется я не совсем правильно передаю  двумерный массив . Например тут
Код
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

Или может в  другом месте у меня ошибка....
 
Цитата
vovaMakarovych написал:
Или может в  другом месте у меня ошибка....
Лирика. Мне надо написать прогу, которая будет забирать из квика данные, анализировать, делать чудесные прогнозы, покупать/продавать бумаги и зарабатывать 1000% годовых. Я тут набросал примерный код, не пойму, почему не работает:
Код
void main(void)
{
    printf("Hello, world\n");
}
Физика. Первый же результат из гугля https://gist.github.com/efrederickson/4080372
Страницы: 1
Читают тему (гостей: 1)
Наверх