А вот ещё вариант, без использования srand
Идея такая. Значит есть у нас 10-значное число. Вычисляем длину диапазона между мин. разрешённых числом и макс. разрешённым числом. Далее делим нацело 10-значное число на длину диапазона, получаем результат деления и остаток. Этот остаток и будет смещением внутри диапазона.
Например:
- число 17
- мин. число диапазона 3
- макс число диапазона 7
Длина диапазона:5.
Делим 17 на 5. Будет 3 и остаток 2 т.е. смещение внутри диапазона будет равно 2
Результа: мин. число + смещение = 3 +2 = 5
Вариант со srand лучше т.к. там любое изменение исходного числа будет порождать новый алгоритм генерации случайных чисел, а в моём варианте например для исходных чисел различающихся на единицу, результаты также будут различаться на единицу. Хотя можно считать это фичей