|
|
|
| Чёт никак непойму :)
На этом форуме находил ответ, но всё же, непонятно как это работает.
Функция: int rand(void);
Прототип находится в stdlb.h
Пишем:
#include <iostream.h>
#include <stdlib.h>
int main()
{
int x;
x = rand();
cout <<x<<endl;
return 0;
}
|
Выдаёт всегда одно число(у меня 41)... и не меняет его, почему? | |
|
|
|
|
|
|
|
для: Fddd
(10.06.2007 в 21:36)
| | Надо сначала инициализировать генератор случайных чисел вызвав функцию
void srand(unsigned int seed);
|
Передав вместо seed некое беззнаковое число. | |
|
|
|
|
|
|
|
для: pini-pini
(10.06.2007 в 21:50)
| | вместо сиид надо написать что-то вроде time(NULL)
посмотрите в мздн там должно это быть | |
|
|
|
|
|
|
|
для: alex19921992
(11.06.2007 в 08:57)
| | Да - да, всем спасибо.
srand((unsigned)time(NULL));
int x = (rand() % 128) + 1; // от 0 до 128
|
Только теперь надо не забыть подключить time.h(ну и stdlib.h) | |
|
|
|
|
|
|
|
для: Fddd
(11.06.2007 в 11:25)
| | //rands.cpp Генератор случайных чисел
// Microsoft visual c++ 2005 Express
// Здесь приведены образцы получения случайного числа
// в любом диапазоне (для освоения генератора)
#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
srand(time(0)); // time() возвращает текущее время в сек
for (int i=0; i<100; i++)
cout << (double) rand()/RAND_MAX << " ";// от 0 до 1
cout << rand()%9 << " ";
//--------------
int main()
{
srand(time(0));
for(int i = 0; i < 200; i++ ){
int a = rand()%99;
if (a < 100)
{cout << a/100.0 << " ";
return 0;
}
//22:35 27.06.2007 dimdln | |
|
|
|