Четверг, 09.01.2025
Veritas lux mea
Меню сайта
Категории раздела
Разное [3]
Просто интересный материал
Физикам [6]
материалы для студентов физико-технического факультета
Маркетологам [3]
Статьи для студентов-маркетологов
Наш опрос
Укажите, что лишнее
Всего ответов: 24
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0
Форма входа
Сегодня
Главная » Статьи » Физикам

Генератор случайных чисел в С++
Используя программные решения для генерации случайных чисел не забывайте, что результатом является последовательность т.н. псевдослучайных чисел. Главная особенность такой последовательности - она всегда начинается одинаково и имеет период (через некоторое время значения начинают повторяться). Чем лучше сконструирован генератор, тем период больше. Функция rand() возвращает целое случайное число в диапазоне от 0 до RAND_MAX. Значение RAND_MAX можно посмотреть в stdlib.h. Обычно оно равно 32767. Если в программе использовать только rand(), то последовательность всегда будет начинаться одинаково. Изменить порядок появления чисел из последовательности можно функцией srand. А для того, чтобы последовательность начиналась по-разному при каждом вызове srand и rand, обычно используют функцию time(0), возвращающую текущее системное время. Дополнительно можно посмотреть статью из MSDN (http://msdn.microsoft.com/en-us/library/398ax69y.aspx).
Листинг программы, приведенный ниже, генерирует последовательность случайных чисел от r_min до r_max.  

#include <iostream>
#include <stdlib.h>
#include <ctime>
using namespace std;
void main()
{
int r_min=1,r_max=10,n=10; 
    srand(time(0));
    for (int i = 0; i < n; i++ )
      {
       int u = (double)rand() / (RAND_MAX + 1) * (r_max - r_min)+ r_min; 
       cout<<u<<endl;
      }
}
Категория: Физикам | Добавил: Bfs (24.04.2011)
Просмотров: 3375 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Внимание!
[21.02.2011]
Всем пользовате... (0)
[05.12.2010]
Требуются волон... (0)
[07.09.2010]
Конкурс (1)
Ссылки
  • Официальный блог
  • СДО БФУ им.Канта
  • Язык программирования Python
  • Записки океанолога
  • Cайт А.Радиевского
  • Физики города К.
  • Физика онлайн
  • Физический 2D симулятор
  • Copyright MyCorp © 2025
    Конструктор сайтов - uCoz