Форум программистов, компьютерный форум CyberForum.ru

Случайные числа - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.82
Katyaara
0 / 0 / 0
Регистрация: 26.03.2010
Сообщений: 27
23.05.2010, 23:15     Случайные числа #1
Можно ли генерировать случайные числа типа float с помощью rand()?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2010, 23:15     Случайные числа
Посмотрите здесь:

C++ случайные числа в с++
Случайные числа C++
Случайные числа C++
Случайные числа C++
C++ Случайные числа
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
23.05.2010, 23:19     Случайные числа #2
Katyaara, да, например
C++
1
(double)(rand()%10000)/10
вернет число с 2 целыми и 2 дробными разрядами
][акер
#define книжный_червь Я
 Аватар для ][акер
182 / 93 / 6
Регистрация: 30.01.2010
Сообщений: 780
23.05.2010, 23:25     Случайные числа #3
А меня в учебнике по другому учили! надо подключить:
C++
1
2
#include <cstdlib>
#include <ctime>
Случайное число вывести:
C++
1
2
3
4
5
6
srand(time(NULL)); // Инициализируешь так генератор случайных чисел.
// Зачем параметр time(NULL) - хз
cout << rand() % 100; // rand() выводит псевдослучайное число.
// Берем остаток от деления на 100
// В результате случайное число в диапозоне от 0 до 99.
// Выводим это число.
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
23.05.2010, 23:30     Случайные числа #4
][акер, что я не так написал? И, кстати, ТС необходимо вещественное число
Katyaara
0 / 0 / 0
Регистрация: 26.03.2010
Сообщений: 27
23.05.2010, 23:45  [ТС]     Случайные числа #5
Спасибо
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
23.05.2010, 23:58     Случайные числа #6
M128K145, только делить надо на 10.0, в твоем случае дробная часть всегда будет равна нулю.
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
24.05.2010, 00:05     Случайные числа #7
kazak, да ну? http://codepad.org/PQu9MLSv

ЗЫ.
int / int = int,
int / double = int
double / double = double
double / int = double
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
24.05.2010, 00:38     Случайные числа #8
Однако...
1) int/double=double
2) лично у меня бывало, что double/int не всегда равнялся double, правда числитель и знаменатель были сложными формулами с переменными разного типа. Но тут спорить не буду.
3) запись (rand()%10000)/100.0; всеже предпочтительней, т.к. в этом случае генерируется меньший объем кода.
Katyaara
0 / 0 / 0
Регистрация: 26.03.2010
Сообщений: 27
25.05.2010, 00:10  [ТС]     Случайные числа #9
еще такой вопрос как генерировать числа в интервале например от -6 до 2?
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
25.05.2010, 00:17     Случайные числа #10
Katyaara,
C++
1
int ch = -6 + rand() % 8;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2010, 00:19     Случайные числа
Еще ссылки по теме:

C++ Случайные числа.
Случайные числа C++
C++ Случайные числа

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Katyaara
0 / 0 / 0
Регистрация: 26.03.2010
Сообщений: 27
25.05.2010, 00:19  [ТС]     Случайные числа #11
оп я долго догадаца не мог на что делить))
Yandex
Объявления
25.05.2010, 00:19     Случайные числа
Ответ Создать тему
Опции темы

Текущее время: 04:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru