Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 27.11.2018
Сообщений: 14
1

Разработать генератор псевдослучайных чисел в виде функции. Не пользуясь глобальной переменной

12.04.2021, 20:34. Показов 1014. Ответов 1
Метки с++ (Все метки)

Author24 — интернет-сервис помощи студентам
Разработать генератор псевдослучайных чисел в виде функции.
Процедуру вычисления взять на примере (листинг 1), но пользоваться глобальной переменной запрещено, вместо этого разместить предварительное вычисленное значение локально и использовать модификатор static при ее объявлении.
Предлагается реализовать функцию на основе следующего псевдокода 2.
Листинг 1.
C++
1
2
3
4
5
6
7
8
9
10
11
#define RAND_MAX 32767
unsigned long int next = 1;
int rand(void)
{
next = next * 1103515245 + 12345;
return (unsigned int)(next/65536) % (RAND_MAX + 1);
}
void srand(unsigned int seed)
{
next = seed;
}
Псевдокод 2.
C++
1
2
3
4
5
6
7
8
9
int randCongrGen(int seed=-1)
{
static unsigned long int x = 1;
/* If "seed" bigger or equal to zero,
then "x=seed".
*/
/* Compute "x". */
/* Compute and return a pseudorandom value. */
}
Задать число 9 как зерно последовательности и вывести 10 псевдослучайных чисел в консоль.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.04.2021, 20:34
Ответы с готовыми решениями:

Генератор псевдослучайных чисел
Есть массив чисел var arr:Array = ; как можно в цикле for () с помощью генератора псевдослучайных...

Генератор псевдослучайных чисел
Нужно составить Пожалуйста, помогите составить программу, моделирующую игру двух человек в...

Генератор псевдослучайных чисел
Добрый день. Интересует алгоритм или готовая функция API со следующими условиями 1. Возможность...

Генератор псевдослучайных чисел
Народ, помогите плиз с решением этой задачи. Мне надо управляемый генератор равновесных...

1
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
12.04.2021, 20:41 2
Лучший ответ Сообщение было отмечено _BigCat_ как решение

Решение

Цитата Сообщение от _BigCat_ Посмотреть сообщение
пользоваться глобальной переменной запрещено, вместо этого разместить предварительное вычисленное значение локально и использовать модификатор static при ее объявлении.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int rand() noexcept
{
    #define dRAND_MAX 32768    
    static unsigned int next = 1;
    next = next * 1103515245 + 12345;
    return next / 65536 % dRAND_MAX;
    #undef dRAND_MAX
}
 
#include <iostream>
 
int main()
{
    for(size_t i = 0; i != 10; ++i)
        std::cout << rand() << '\n';
}
1
12.04.2021, 20:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2021, 20:41
Помогаю со студенческими работами здесь

Генератор псевдослучайных чисел.
Написать генератор псевдослучайных чисел по алгоритму r = r * 4231 + 123457; Подсчитать частоты...

Генератор псевдослучайных чисел
Создал генератор случайных чисел, который получает числа составлением из цифр, последовательность...

Генератор псевдослучайных чисел
Помогите написать генератор псевдослучайных чисел, распределенных на интервале [0, 10). Подсчитать...

Генератор псевдослучайных чисел
Всем привет. Как такое &quot;чудо&quot; пишеться, примерный алгоритм, если можно на псевдокоде: Написать...

Генератор псевдослучайных чисел
Написать генератор псевдослучайных чисел по алгоритму r = r * 4231 + 123457; Подсчитать частоты...

Генератор псевдослучайных чисел
Написать программу, которая реализует десять генераторов псевдослучайных чисел. Каждый генератор...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru