Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2016, 20:30   #1
Lektorfuja
Форумчанин
 
Аватар для Lektorfuja
 
Регистрация: 04.11.2016
Сообщений: 355
По умолчанию случайное число в диапазоне на Си

Как написать случайное число в диапазоне на Си?
Например от 1 до 2.
мой блог :patreon.com/hopkins1988 . facebook группы:"программирование на Андроид","
"Программирование чистый код"
Lektorfuja вне форума Ответить с цитированием
Старый 13.12.2016, 20:45   #2
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

http://ci-plus-plus-snachala.ru/?p=15
ura_111 вне форума Ответить с цитированием
Старый 13.12.2016, 20:46   #3
olej.tsil
Заблокирован
 
Регистрация: 29.11.2016
Сообщений: 215
По умолчанию

Цитата:
Сообщение от Lektorfuja Посмотреть сообщение
Как написать случайное число в диапазоне на Си?
Например от 1 до 2.
Вообще то, случайное число в библиотеке C создаётся функцией rand(), которая возвращает а). равномерно распределённое б). целочисленное значение в). в диапазоне [0, RAND_MAX].

А то, что вы хотите - это вещественное значение. Вы уверены, что хорошо понимаете что хотите?

Но если именно это, то вот ваше случайное значение:
Код:
double R = (double)rand() /  RAND_MAX + 1.0;
olej.tsil вне форума Ответить с цитированием
Старый 13.12.2016, 20:51   #4
olej.tsil
Заблокирован
 
Регистрация: 29.11.2016
Сообщений: 215
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
http://ci-plus-plus-snachala.ru/?p=15
А вот ограничение диапазона случайного числа до N взятием модуля, которое массово рекомендуют из одного источника в другой:
Код:
int R = rand() % N;
- так вот это - очень рискованная глупость: при этом никак не гарантируется сохранение равномерного закона распределения (что рекомендуется и в показанной по ссылке статье).

Если нужно одиночное случайное значение полученное наугад - это годится.
Но если случайные числа используются в моделировании, например, методом Монте-Карло, то такой "приём" исказит весь результат моделирования ... а вы потом сядете интерпретировать его смысл.

Последний раз редактировалось olej.tsil; 13.12.2016 в 23:31.
olej.tsil вне форума Ответить с цитированием
Старый 14.12.2016, 11:02   #5
Lektorfuja
Форумчанин
 
Аватар для Lektorfuja
 
Регистрация: 04.11.2016
Сообщений: 355
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
мне нужен Си, а не Си++
мой блог :patreon.com/hopkins1988 . facebook группы:"программирование на Андроид","
"Программирование чистый код"
Lektorfuja вне форума Ответить с цитированием
Старый 14.12.2016, 11:04   #6
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Тогда вот новый пример:

http://www.mir-koda.ru/full_leson.php?id=8
ura_111 вне форума Ответить с цитированием
Старый 14.12.2016, 11:54   #7
Lektorfuja
Форумчанин
 
Аватар для Lektorfuja
 
Регистрация: 04.11.2016
Сообщений: 355
По умолчанию

В общем язык программирования Python справляется с этой задачей лучше.
мой блог :patreon.com/hopkins1988 . facebook группы:"программирование на Андроид","
"Программирование чистый код"
Lektorfuja вне форума Ответить с цитированием
Старый 14.12.2016, 12:12   #8
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,551
По умолчанию

Каким это образом ? Генерирует еще более случайные числа ?
digitalis вне форума Ответить с цитированием
Старый 14.12.2016, 13:22   #9
olej.tsil
Заблокирован
 
Регистрация: 29.11.2016
Сообщений: 215
По умолчанию

Цитата:
Сообщение от Lektorfuja Посмотреть сообщение
В общем язык программирования Python справляется с этой задачей лучше.
- В общем, грузины лучше чем армяне...
- Ну чем, чем лучше?
- Чем армяне.
© из известного анекдота...

Вот у вас и с Python точно такая же история.
olej.tsil вне форума Ответить с цитированием
Старый 14.12.2016, 13:37   #10
Lektorfuja
Форумчанин
 
Аватар для Lektorfuja
 
Регистрация: 04.11.2016
Сообщений: 355
По умолчанию

Цитата:
Сообщение от olej.tsil Посмотреть сообщение
- В общем, грузины лучше чем армяне...
- Ну чем, чем лучше?
- Чем армяне.
© из известного анекдота...

Вот у вас и с Python точно такая же история.
несмешной анекдот.
мой блог :patreon.com/hopkins1988 . facebook группы:"программирование на Андроид","
"Программирование чистый код"
Lektorfuja вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Случайное целое число в диапазоне JavaScript Lektorfuja JavaScript, Ajax 1 08.12.2016 22:03
Случайное число mactepmac Общие вопросы Delphi 5 22.06.2011 09:58
Случайное число rommster Общие вопросы C/C++ 13 09.10.2010 15:11
Случайное число. Alex Cones Свободное общение 27 06.06.2010 09:54
случайное число Дініс Общие вопросы C/C++ 3 07.10.2009 23:03