Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Генератор случайных чисел, А где он? 
:(
    Опции темы
Turboman
  Дата 11.12.2002, 15:02 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Сейчас здесь никого нет :-(, но когда появятся, где в С++ генератор случайных чисел?  <:-0
  Вверх
Шурик
Дата 11.12.2002, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 31.10.2002

Репутация: нет
Всего: нет



RAND               Генератор случайных чисел.

Синтаксис          #include
                  int rand(void);

Файл, содержащий   stdlib.h
прототип

Описание           Функция rand использует мультипликативный конгру-
                  энтный генератор случайных чисел с периодом 2^32,
                  чтобы получать псевдослучайные числа в диапазоне
                  от 0 до RAND_MAX. Символическая константа
                  RAND_MAX определена в stdlib.h; ее значение
                  2^15ё1.

Переносимость      Функция поддерживаются на системах UNIX и стандар-
                  том ANSI C.

Пример:

#include
#include
int main(void)
{
  int i;
  printf("10 случайных чисел от 0 до 99 \n\n");
  for (i=0; i<10; i++)
      printf("%d\n", rand()%100);
return 0;
}

--------------------------------------------------------

RANDOM             Генератор случайных чисел.

Синтаксис          #include
                  int random(int num);

Файл, содержащий   stdlib.h
прототип

Описание           Функция random возвращает случайное число в
                  диапазоне от 0 до num-1. random(num) это макро,
                  определенное в виде (rand()%num). И num и возвра-
                  щаемое значение целые.

Возвращаемое       random возвращает случайное число в диапазоне от
значение           0 до num-1.

Переносимость      Соответствующая функция существует в Turbo Pascal.

Пример:

#include
#include
#include

int main(void)
{
  randomize();
  printf("Случайное число в диапазоне от 0 до 99:", random(100));
  return 0;
}
------------------------------------------
еще если интересно смотри http://www1.zsu.zp.ua/lab/help/C/htm/
PM MAIL   Вверх
Turboman
  Дата 13.12.2002, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 11.12.2002
Где: Краснодар

Репутация: нет
Всего: нет



С первой частью вышло, а вторая не работает. Или может надо макросы самому создавать? Обьясни
PM MAIL   Вверх
neutrino
Дата 13.12.2002, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 1
Всего: 62



Цитата(Turboman @ 13.12.2002, 05:46)
С первой частью вышло, а вторая не работает. Или может надо макросы самому создавать? Обьясни

Первое для VC++, второе - Turbo C


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
DrMasik
Дата 14.12.2002, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 13.12.2002

Репутация: нет
Всего: нет



со всем согласен, только вто srand(), почему опустили?
PM MAIL ICQ   Вверх
Dagger
Дата 14.12.2002, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Экс. модератор
Сообщений: 377
Регистрация: 4.9.2002
Где: Киев

Репутация: нет
Всего: 8



Цитата(DrMasik @ 14.12.2002, 01:05)
со всем согласен, только вто srand(), почему опустили?

Макс, а какая разница между srand() и rand() (к примеру) ???
PM MAIL WWW Skype   Вверх
Turboman
  Дата 14.12.2002, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 11.12.2002
Где: Краснодар

Репутация: нет
Всего: нет



Ну а с Randomize в VC как?
PM MAIL   Вверх
neutrino
Дата 15.12.2002, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 1
Всего: 62



Цитата(Turboman @ 14.12.2002, 03:43)
Ну а с Randomize в VC как?

Он там не нужен. Это генератор случайной последовательности. Ты должен делать rand()%n, чтобы получить число ~[0, n-1].


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
Turboman
  Дата 17.12.2002, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 11.12.2002
Где: Краснодар

Репутация: нет
Всего: нет



Ну а как...
А если надо изменить случайную последовательность,то надо засовывать rand в for rand%n{...}
Вот так:
Код
void roll()
{
 for (int i; i=100; i=0; i--) // Хотя может тут ошибка
   {
      int z;
      z = rand()%100;
   };
};

Может кому пригодится
ЗЫ Кто не понял это Randomize
:)
PM MAIL   Вверх
Turboman
Дата 24.12.2002, 03:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 11.12.2002
Где: Краснодар

Репутация: нет
Всего: нет



Цитата
Ну а как...
А если надо изменить случайную последовательность,то надо засовывать rand в for rand%n{...}
Вот так:
Исходный код  
void roll()
{
for (int i; i=100; i=0; i--) // Хотя может тут ошибка
  {
     int z;
     z = rand()%100;
  };
};

Может кому пригодится
ЗЫ Кто не понял это Randomize



Ну не так
for неправильно и все равно не работает
Вообще это никому на третьей странице не надо
и это другая тема
PM MAIL   Вверх
Baa
Дата 24.12.2002, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Код

//вот так делается Randomize ()
srand( (unsigned)time( NULL ) );



--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0495 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.