Форум: Форум C++Разное
Новые темы: 00
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как пользоваться RAND?
 
 автор: Fddd   (10.06.2007 в 21:36)   письмо автору
 
 

Чёт никак непойму :)
На этом форуме находил ответ, но всё же, непонятно как это работает.
Функция: int rand(void);
Прототип находится в stdlb.h
Пишем:

#include <iostream.h> 
#include <stdlib.h> 
int main()
{
int x;
x = rand();
cout <<x<<endl;
return 0;
}

Выдаёт всегда одно число(у меня 41)... и не меняет его, почему?

  Ответить  
 
 автор: pini-pini   (10.06.2007 в 21:50)   письмо автору
 
   для: Fddd   (10.06.2007 в 21:36)
 

Надо сначала инициализировать генератор случайных чисел вызвав функцию

void srand(unsigned int seed);

Передав вместо seed некое беззнаковое число.

  Ответить  
 
 автор: alex19921992   (11.06.2007 в 08:57)   письмо автору
 
   для: pini-pini   (10.06.2007 в 21:50)
 

вместо сиид надо написать что-то вроде time(NULL)
посмотрите в мздн там должно это быть

  Ответить  
 
 автор: Fddd   (11.06.2007 в 11:25)   письмо автору
 
   для: alex19921992   (11.06.2007 в 08:57)
 

Да - да, всем спасибо.


srand((unsigned)time(NULL));
int x = (rand() % 128) + 1; // от 0 до 128

Только теперь надо не забыть подключить time.h(ну и stdlib.h)

  Ответить  
 
 автор: dimdln   (27.06.2007 в 22:40)   письмо автору
 
   для: 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

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования