Форум программистов, компьютерный форум, киберфорум
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
Rififi
2369 / 1062 / 104
Регистрация: 03.05.2009
Сообщений: 2,656
04.08.2009, 20:19 0

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

04.08.2009, 20:19. Просмотров 108417. Ответов 4
Метки (Все метки)

Ответ

Генерация случайного числа любой длины.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <windows.h>
#include <bcrypt.h>
 
#pragma comment(lib, "bcrypt.lib")
 
template <typename T>
void Generate(T& v)
{
    BCRYPT_HANDLE hAlgo = NULL;
    BCryptOpenAlgorithmProvider(&hAlgo, BCRYPT_RNG_ALGORITHM, NULL, 0);
    BCryptGenRandom(hAlgo, reinterpret_cast<PUCHAR>(&v), sizeof(v), 0);
    BCryptCloseAlgorithmProvider(hAlgo, 0);
}
 
#pragma pack(push, 1)
struct LargeData
{
    BYTE raw_[100];
};
#pragma pack(pop)
 
int main()
{
    // Генерация случайного GUID'а
    GUID guid;
    memset(&guid, 0, sizeof(guid));
    Generate(guid);
 
    // Генерация случайного числа размером 100 байт
    LargeData data;
    memset(&data, 0, sizeof(data));
    Generate(data);
 
    return (0);
}

Требуется:
- для компиляции - Windows SDK v6 или выше
- для запуска - Windows Vista или выше

Генерация случайных чисел в диапазоне [a.. b] с использованием генератора Mersenne Twister.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <time.h>
#include <iostream>
#include <boost/random.hpp>
 
template <typename EngineT, typename DistributionType=int>
struct CRandomT
{
    typedef boost::uniform_int<DistributionType> distribution_type;
    typedef typename distribution_type::result_type result_type;
 
    CRandomT(result_type a, result_type b) : 
    gen_(
        EngineT(static_cast<result_type>(time(NULL))),
        distribution_type(a, b)
        )
    {
    };
    result_type operator()()
    {
        return gen_();
    }
    boost::variate_generator<EngineT, distribution_type> gen_;
};
 
int main()
{
    // Генерация случайного числа в диапазоне [1 .. 10]
    typedef CRandomT<boost::mt19937> CRandom;
    CRandom rnd(1, 10);
    for (int i=0; i<10; i++)
        std::cout << rnd() << std::endl;
 
    return (0);
}

Требуется:
- библиотека Boost.Random

Вернуться к обсуждению:
Генерация массива целых случайных чисел, которые не повторяются
15
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2009, 20:19

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

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

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

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

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

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