Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Динамическое выделение памяти для двумерного массива https://www.cyberforum.ru/ c-beginners/ thread44166.html
Здравствуйте! В следующей программе я пытаюсь выделить динамически память для двумерного массива. Размерности массива задаются в качестве аргументов командной строки. В процессе выполнения...
C (СИ) Найти элемент, наиболее близкий к среднему значению всех элементов массива
Дан массив целых чисел. Найти элемент , наиболее близкий к среднему значению всех элементов массива.. Вот мой код, Наверняка есть попрроще #include<stdio.h> #include<math.h> main() { int...
C (СИ) Вывести все номера элементов, оканчивающиеся цифрой 0
Дан двухмерный массив целых чисел.Вывести все номера элементов, оканчивающиеся цифрой 0, если таких элементов нет, вывести соответствующие сообщение. #include<stdio.h> main() { int...
C (СИ) Сравнить первый и второй элементы массива Дан двухмерный массив. Сравнить первый и второй элементы массива. Если второй элемент меньше первого, то поменять их местами..Затем то же сделать со вторым и третьим........, предпоследним и... https://www.cyberforum.ru/ c-beginners/ thread43603.html
C (СИ) Конкатенация строк: В конец исходной строки дописывается мусор https://www.cyberforum.ru/ c-beginners/ thread43424.html
доброго времени суток.надо написать функцию которая делает конкатенацию строк. функцию написал,но в конец исходной строки дописывается мусор, подскажите как можно этот мусор убрать??если бы это был...
C (СИ) Как правильнее использовать main ()
#include "stdafx.h" #include <windows.h> #include <stdio.h> #include <time.h> #include <iostream> using namespace std; void main() {
Ввод\вывод массива через функции C (СИ)
Помогите плз исправить) Нужно осуществить ввод\вывод массива #include "stdio.h" #include "conio.h" #define N 10 #define M 10 void output (int n, int m,float a ); void input (int n, int m,...
C (СИ) Осуществить поиск по категории, удаление по номеру телефона абонента Здравствуйте! У меня есть программа, но она работает не так как нужно. Требуется организовать добавление, хранение, поиск, просмотр, удаление элементов структуры в виде списка: в моём случае нужно... https://www.cyberforum.ru/ c-beginners/ thread42168.html
C (СИ) Добавление символов в переменную строкового типа https://www.cyberforum.ru/ c-beginners/ thread42167.html
нашел вот такой пример:void strcat_char(char *str, char ch) { while (str) str++;//доходим до конца строки *str = ch;//пишем в конец строки } но компилятор BCC выдает null, NULL pointer assigment
C (СИ) Поиск последовательности в файле Приветствую всех, всем доброго времени суток. Возникла проблема в ходе работы с файлами. Расскажу немного о работе программы: Исходные данные: 2 текстовых файла; Что необходимо сделать:... https://www.cyberforum.ru/ c-beginners/ thread42148.html
Эксперт С++
7170 / 3228 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
05.04.2011, 16:43  [ТС] 0

Генерация массива целых случайных чисел, которые не повторяются

05.04.2011, 16:43. Просмотров 110073. Ответов 4
Метки (Все метки)

Ответ

Генерация случайного числа на UNIX/Linux/BSD с помощью /dev/urandom

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
 
int main( void ) {
 
int fd;
long val;
 
fd= open( "/dev/urandom", O_RDONLY );
 
read( fd, &val, sizeof(val) );
printf( "%ld\n", val );
 
return 0;
 
} /* main() */


Отличия между /dev/random и /dev/urandom

/dev/random и /dev/urandom — специальные символьные псевдоустройства в некоторых UNIX-подобных системах, впервые появившиеся в ядре Linux версии 1.3.30. Они предоставляют интерфейс к системному генератору случайных чисел, который выводит шумы из драйверов устройств и других источников в «хаотичный» пул (англ. entropy pool). Генератор также сохраняет необходимое количество битов шума в этом пуле и формирует из него случайные числа.

При чтении данных в устройстве /dev/random создаются только случайные байты, состоящие из битов шума «хаотичного» пула. Устройство /dev/random может быть необходимо пользователям, которые требуют очень высокого коэффициента случайности, например, при создании ключа доступа и т. п. Если «хаотичный» пул опустел, чтение /dev/random блокируется, пока необходимое количество битов в пуле не будет создано.

Чтение данных устройства /dev/urandom возвратит столько байтов, сколько было запрошено. В результате, если в пуле было недостаточно битов, теоретически возможно будет найти уязвимость алгоритма, использующего это устройство. Если это важно, следует использовать /dev/random.

Взято отсюда: http://ru.wikipedia.org/wiki//dev/random_%D0%B8_/dev/urandom


Идея добавить /dev/urandom принадлежит gGrn-7DA

Вернуться к обсуждению:
Генерация массива целых случайных чисел, которые не повторяются
8
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2011, 16:43

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Генерация случайных целых чисел из заданного диапазона значений, чтобы получить заданную сумму
Генерация случайных целых чисел из заданного диапазона значений, чтобы получить заданную сумму....

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

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

Генерация массива случайных чисел
помогите пожалуйста ! нужно написать функцию которая будет генирировать числа от 1 до 60 и...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.