IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> randomize в С/С++
сообщение
Сообщение #1


Гость






Добрый день!
собственно вопрос в заголовке
видел у некого Vort-а реализованно так

#include <stdlib.h>
#include <time.h>
...
srand((int)time(0));
...
одноко автор говорит, что списал это не вникая в подробности... а мне хотелось бы понять суть... итак имеим srand() с библиотеки stdlib, который инициализирует ГСЧ, однако чтоб он генерились при разных запусках программы разные числа необходим дополнительный параметр.
для этого мы используем time из библ. time приводя его в тип int
правильное ли это утверждение и какой параметр получает time?
заранее благодарен.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 1)
сообщение
Сообщение #2


Гость






Судя по содержимому документации:
Цитата
void srand(unsigned seed);
Вызов srand(n) инициализирует ГСЧ таким образом, что генерируемая случайная последовательность определяется значением аргумента n.
<...>
Чтобы получить непредсказуемую случайную последовательность, следует установить seed равным текущему значению быстро изменяющейся величины, такой как время.
Отсюда плавно переходим к описанию time():

Цитата
time_t time(time_t *thetime);
Возвращает текущую дату и время как число секунд, прошедших с 00:00:00, 1 января 1970 по Гринвичу.
time_t *thetime - необязательный указатель на переменную типа time_t, в которую записывается текущая дата/время (это же значение возвращается функцией time()). Игнорируется, если thetime = 0


А явное приведение типа используется для того, чтобы указать компилятору, что программист сознательно приводит тип к менее емкому (long -> int), понимает, что это может привести к потере данных, но в данном случае это программиста не особо волнует, и Warning можно не выдавать smile.gif
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 4.12.2020 8:16
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name