Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Xsergey

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

22.12.2010, 03:54. Показов 2129. Ответов 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
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru