Форум программистов, компьютерный форум, киберфорум
Наши страницы

Генератор псевдослучайных чисел. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ шаблонные строковые функции http://www.cyberforum.ru/cpp-beginners/thread62321.html
решил написать несколько строковых функций, так чтоб работали со строками разных типов вот одна из них делает поиск символа в строке, возвращает индекс или -1 если не найден template<class...
C++ Перевести с С на С++ Помогите пожалуйста перевести эти программы на С++ books_create.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include "book.h" /* Заполняет структуру Book_t */ ... http://www.cyberforum.ru/cpp-beginners/thread62312.html
C++ Массив и матрица
Вот такие задачи: 1) В одномерном массиве, состоящем из n целых элементов опеределить: - сумму четных элементов массива - произведение неччетных элементов массива 2) Заполнить матрицу...
C++ Побитовая операция &
Скажите пожалуста, что значит эта запись , и как записать в другом варианте? ... int x=5; while (x & 1) {....
C++ Найти темный и светлый цвет RGB http://www.cyberforum.ru/cpp-beginners/thread62277.html
есть RGB цвет...надо найти ее темный и светлый цвет.. ULONG CCWINDOW::Analizer(COLORREF color,UINT kind) { //0 Svetliy UCHAR R,G,B; R = GetRValue(color);
C++ составить таблицу! составить таблицу значений функции (интеграла) для 1<=X<=2 c шагом h=0.1 кому не сложно помогите написать это программку!! буду очень благодарен!! программа для С. подробнее

Показать сообщение отдельно
CheshireCat
Эксперт С++
2895 / 1244 / 78
Регистрация: 27.05.2008
Сообщений: 3,397
09.11.2009, 13:02
Ну, в MSVC++ 6 (1998) использовался следующий алгоритм (это фактически твоя фунция rand()):
C++
1
2
3
4
5
6
7
int CRnd::Random(int max) 
{     
    // именно по этой фоpмyле высчитывается random seed     
    // seed типа DWORD     
    seed = seed * 0x343FD + 0x269EC3;     
    return ((seed >> 16) & 0x7FFF) % max; 
}
Возможно, он же используется и в более старших версиях - тут я уже не разбирался.....
Коэффициенты здесь специально подобраны (этакие "магические числа") и менять их не следует - при данных числах получается генератор равномерного распределения. Но для твоего случая некие "магические числа" уже заданы в задании.
А srand() просто записывает в опорное число seed некое случайное значение (обычно для получения такого "случайного" значения используются показания системных часов на момент вызова функции).
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru