Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > rand()


Автор: Reptor 13.4.2006, 15:19
rand() всегда выдает одно и тоже число в VC++6.0 как зделать что б всегда было разное в этом диапазоне например от 0 до 100?

Код

#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
// program
void main( ) 
{
int a;
a=rand()%9000;
cout << "rand="<<a<<endl;
}

Автор: _hunter 13.4.2006, 15:31
допиши перед rand()
srand( (unsigned)time( NULL ) );

Автор: kirjanov 13.4.2006, 15:32
Код

* rand example */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main ()
{
  /* initialize random generator */
  srand ( time(NULL) );

  /* generate some random numbers */
  printf ("A number between 0 and RAND_MAX (%d): %d\n", RAND_MAX, rand());
  printf ("A number between 0 and 99: %d\n", rand()%100);
  printf ("A number between 20 and 29: %d\n", rand()%10+20);

  return 0;
}


from http://www.cplusplus.com/ref/cstdlib/rand.html


Автор: KAdot 13.4.2006, 15:51
держи мой макрос smile

Код

#define random_init() srand((unsigned int)time(NULL))
#define random_gen(min, max) ((rand()%(max-min+1))+min)

// использовать так
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void main()
{
    random_init();
    for(int i=0; i<10; i++) printf("%d ", random_gen(0, 100));
}

Автор: ДобренькийПапаша 13.4.2006, 17:57
А как зарандомить одномерный массив типа double?
Постоянно компилл ругается, приведите пример, пожалуйста.

Автор: _hunter 13.4.2006, 18:35
код показывай

Автор: kirjanov 13.4.2006, 18:46
ДобренькийПапаша,
http://www.codeguru.com/forum/archive/index.php/t-378879.html

посмотри здесь

Автор: nikitao 13.4.2006, 19:18
Собс но говоря,а это не работает
Код

#include <time.h>
#include <stdio.h>    
#include <stdlib.h>
int main()
{
    double xxx[5];
    srand ( time(NULL) );
    for (int i=0;i<5;i++)
    xxx[i]=(double)randon()/(double)rand();

}

Вроде же была функция нападобии rand,которая возвращала не int не int,а double,но я ее напрч вспомнить не могу(или мне почудилось)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)