Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Помогите задать условие для вывода случайного числа в заданном диапазоне  (Прочитано 1149 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 32reg

  • Автор темы
  • Участник
  • *
  • Сообщений: 122
    • Просмотр профиля
    • Linux32.ru
Собственно, вопрос в названии. Вот что у меня уже есть:
get_rand() { cat /dev/urandom | tr -dc 0-9 | head -c 2; } # произвольное двузначное число
while true ; do A=`get_rand` ; if [ $A -le 11 ] ; then break; fi; done # двузначное число, меньшее или равное указанному
echo $A
Все работает, число выводит, но...
Подскажите, как сделать чтобы это число было больше 0 (т.е. чтобы не было равно 0)?
www.linux32.ru - новости и статьи о Linux

Оффлайн alecsartania

  • Старожил
  • *
  • Сообщений: 1565
  • УМка.
    • Просмотр профиля
ну в чем проблема
get_random_nozero()
{
 {
 }
  while (get_random()==0)
}
где то так.
« Последнее редактирование: 09 Декабря 2011, 11:49:41 от alecsartania »
Дома Linux Mint 21.1 / 22.00

Оффлайн 32reg

  • Автор темы
  • Участник
  • *
  • Сообщений: 122
    • Просмотр профиля
    • Linux32.ru
alecsartania, если можно, по подробнее разъясните ваш ответ. не догнал :)
P.S. в программировании не силен
www.linux32.ru - новости и статьи о Linux

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Код: (c) [Выделить]
srand(time(NULL));
(rand() % <ширина диапазона>) + <смещение диапазона>
в какой-то версии мануала по rand() это было. сейчас посмотрел - нету. странно.

Оффлайн 32reg

  • Автор темы
  • Участник
  • *
  • Сообщений: 122
    • Просмотр профиля
    • Linux32.ru
Решил этот вопрос. Если кому интересно, то вот:
get_rand() { cat /dev/urandom | tr -dc 0-9 | head -c 2; } # произвольное двузначное число
while true ; do A=`get_rand` ; if [ $A -le $i ] && [ $A -gt 0 ] ; then break; fi; done # двузначное число, меньшее или равное количеству строк в заданном файле и большее 0
www.linux32.ru - новости и статьи о Linux

 

Страница сгенерирована за 0.018 секунд. Запросов: 22.