Xsergey

Дочерние процессы должны сгенерировать случайные числа и передать их родителю

22.12.2010, 03:54. Показов 2137. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите решить проблему:
В общем есть 6 процессов, 1 родитель и 5 дочерних, дочернии процессы должны с генерировать случайные числа и передать их родителю.

только все детишки генерируют одни и те же числа

вот код получения случайного числа

C++
1
2
3
4
                srandom(time(0)+getuid());
        int nsec=random()% 99+1;
        srand((unsigned)time(0));
        int sec=1 + (int) (5.0 * rand() / (RAND_MAX + 1.0));
вот что получается
2.060000
2.060000
2.060000
2.060000
2.060000

при каждом новом зпросе на генерацию чисел они меняются, но все выдают одинаковые числа.
пол дня в инете копался но ни чего кроме написанного в коде не нашел
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.12.2010, 03:54
Ответы с готовыми решениями:

Сгенерировать случайные числа
Ребята, интересует такой вопрос. Ниже представлен кусок кода, который, так сказать, генерирует мат. модель для пакета LP-solve, где...

Сгенерировать случайные числа
сгенерировать случайные числа 1) целое в интервале от 0 до 67. 2) целое двухзначное. 3) вещественное с двумя целыми знаками. 4) целое...

Сгенерировать случайные числа в диапазоне от 1 до 20
Задача такова: Нужно написать рендум чисел в диапазоне например от 1 до 20 (не имеет значения). С проверкой, что бы не повторялось число....

5
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
22.12.2010, 04:57
Цитата Сообщение от Xsergey Посмотреть сообщение
srandom(time(0)+getuid());
это выполняй в родителе

Добавлено через 18 секунд
только в родителе

Добавлено через 35 секунд
еще вариант, случайные числа можно читать из /dev/urandom
0
 Аватар для iloveoOz
6 / 6 / 2
Регистрация: 21.12.2010
Сообщений: 20
22.12.2010, 10:25
Цитата Сообщение от niXman Посмотреть сообщение
еще вариант, случайные числа можно читать из /dev/urandom
более верно
0
Xsergey
22.12.2010, 14:55
Цитата Сообщение от niXman Посмотреть сообщение
это выполняй в родителе

Добавлено через 18 секунд
только в родителе
не помогает, ла и не должно помочь, получается что родитель обнуляет рандом 1 раз для 5 процессов, вобщем результатт такой же
Цитата Сообщение от niXman Посмотреть сообщение
Добавлено через 35 секунд
еще вариант, случайные числа можно читать из /dev/urandom
а можно по подробнее про это, или где почитать об этом способе
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
22.12.2010, 15:15
Цитата Сообщение от Xsergey Посмотреть сообщение
а можно по подробнее про это, или где почитать об этом способе
Code
1
man 4 random
Вот простенький пример - читается одно случайное число и выводится на экран:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
 
int main()
{
    int num;
    int fd;
    if((fd = open("/dev/urandom", O_RDONLY)) == -1)
    {
        perror("open");
        exit(1);
    }
    if(read(fd, &num, sizeof(int)) == -1)
    {
        perror("read");
        exit(2);
    }
    printf("Случайное число из urandom: %d\n", num);
    exit(0);
}
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
23.12.2010, 09:05
Цитата Сообщение от Xsergey
вот что получается
2.060000
как это связано с int sec=1 ... ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.12.2010, 09:05
Помогаю со студенческими работами здесь

Как сгенерировать случайные числа?
Как сгенерировать случайные числа?

Сгенерировать случайные числа без повторений
Нужно выбрать 8 чисел в диапазоне от 1 до 16 включительно, чтоб они не повторялись. и записать в массив.НЕ понимаю как задать условие...

Как сгенерировать такие случайные числа?
4287709036.32353 5765613642.35294 7896396583.23529 и как перевести такое число в шеснацати-ричный формат?

Сгенерировать случайные двоичные числа в диапазоне от a до b
Помогите написать программу, даже не знаю с какой стороны к ней подойти, вот задание: Написать функцию, генерирующую случайные двоичные...

Сгенерировать случайные числа от 1000 до 1112
for (int i = 1; i &lt;= 10; i++) { n = 1000 + rand () % 1112; cout &lt;&lt; n &lt;&lt; endl; } Почему вылазят цифры...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru