![]() |
сопоставление произвольного числа, числу из заданного диапазона
Как сопоставить произвольное положительное число, числу из заданного неотрицательного диапазона?
Например у нас есть некий известный диапазон чисел от 1 до 8, как сопоставить любое произвольное число (может входить в диапазон, а может и находиться за его пределами) так, что б в результате получить соответствующее число из этого диапазона (например 9 в диапазоне от 1 до 8 соответствует 1; 10 => 2; 13 => 5 etc). Где-то год назад что-то подобное уже делал на AS2 (к теме в общем: к языку особой привязки нет - адаптировать подобный алгоритм не сложно), но в своих исходниках найти что-то не могу, а изобретать велосипед вновь не хочется =) |
Два массива, сопоставлять по одинаковому индексу?
|
10 % 8 = 2
|
Цитата:
Вопрос какраз в том как произвести преобразования параметра =)) |
не пойдет?
Код:
повторять пока число меньше "левой границы" прибавляя длину диапазона |
Может, один массив, arr[9] = 1, arr[10] = 2, arr[13] = 5 ? Но надо перебрать все числа из диапазонов при задании соответствия.
Может, вам надо только 2 числа - 9 и 1, а соответствующее число находить как 1 - 9 + число? |
а чем остаток от деления вам не подходит?..и вам нужно число на выходе или индекс этого числа в массиве. в общем не совсем понятно что вам нужно )
|
Остаток от деления - это, наверное, слишком просто...
|
Тогда уж 1 + ((число - 1) % 8), а то 8 не получить по той формуле.
|
Цитата:
остаток от деления на длину диапазона плюс левая граница диапазона |
| Часовой пояс GMT +4, время: 08:52. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.