Показано с 1 по 2 из 2

Тема: Как из таблицы получить значения самое близкое к указанному?

  1. #1
    Пользователь
    Регистрация
    28.04.2018
    Сообщений
    10
    Репутация: 11

    Звание: на пути к лучшему

    Как из таблицы получить значения самое близкое к указанному?

    Привет всем!
    Подскажите пожалуйста, как из таблицы получить значения самое близкое к указанному?
    То есть:
    например есть таблица T и есть определенное значение val
    PHP код:
    T = {1.235,3.215,4.953,5.531,11.845,14.312,15.359,15.498}
    val = 12 
    Так вот, значение val равно 12, значит из таблицы надо вытащить 11.845
    если val равно 14,5 , значит из таблицы надо вытащить 14.312
    если val равно 2, значит из таблицы надо вытащить 1.235
    если val равно 2,7 значит из таблицы надо вытащить 3.215

    Спасибо!

  2. #2
    Пользователь
    Регистрация
    28.04.2018
    Сообщений
    10
    Репутация: 11

    Звание: на пути к лучшему
    PHP код:
        local t = { 1.235, 3.215, 4.953, 5.531, 11.845, 14.312, 15.359, 15.498 }
      
        
    local function nearest(v,tbl);
            
    local x,val;
            for 
    i = 1, #tbl do;
                
    local dlt = math.abs(v-tbl[i]);
                if 
    not x or dlt < x then;
                    
    x = dlt;
                    
    val = tbl[i];
                
    end;
            
    end;
            return 
    val;
        
    end;
        
        print( 
    nearest( 8   , t ) )
        print( 
    nearest( 14.5, t ) )
        print( 
    nearest( 2   , t ) )
        print( 
    nearest( 2.7 , t ) ) 

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •