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

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

22.12.2010, 03:54. Показов 2157. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru