Rand() - не рандомит как должен

  • Автор темы Автор темы student55
  • Дата начала Дата начала
S

student55

а о "затравке" для рендома в виде seed или randomize (не помню, как правильно в синтаксисе с++), никогда не слышали?
 
Включить <ctime> и <cstdlib>, после чего, до использования функции rand(), нужно затравить генератор начальным значением (в данном случае затравляем чем - то, связанным с системным временем).
Это делает функция srand (time(NULL)), по крайней мере я делаю именно так
 
Именно для Борланд-компиляторов функция
C++:
randomize();
 
Вот пример кода:
C++:
#include <stdlib.h>
#include <time.h>
#include <iostream.h>

void main (void)
{
srand ((unsigned) time (NULL));
cout << rand () << endl;
}
Выдаёт случайное число около 32000.
 
При чем если нужно число от 0 до (<) N, то получается:
C++:
rand() % N
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab