Форум программистов, компьютерный форум, киберфорум
Наши страницы

Функция возвращающая случайное число - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не получается работа с двумерным массивами http://www.cyberforum.ru/cpp-beginners/thread1551983.html
Пытаюсь решить задачу Задать двумерную матрицу 4x4 Вычислить минимальный элемент из каждого столбца и общий минимальный. Даже не знаю, с чего начать. Помогите плис
C++ Как перевести первую букву в слове в нижний регистр? как перевести первую букву в слове в нижний регистр, а последнюю в верхний и вывести слово на экран? http://www.cyberforum.ru/cpp-beginners/thread1551967.html
Как проверить, входит ли текущее время в интервал от 10 минут до 50? C++
Добрый день. Как проверить, входит ли текущее время в интервал от 10 минут до 50 ? Спасибо.
C++ Ошибка при переводе строчных букв в прописные и обратно
Здравствуйте, начал изучать C++ по Герберту Шилдту, второе издание для начинающих. Застопорился на практическом задании, в нем надо при вводе букв переводить строчные в прописные и обратно, а все...
C++ Задача "Ладья в Лабиринте" http://www.cyberforum.ru/cpp-beginners/thread1551930.html
Ладья – это шахматная фигура, которая за один ход может переместиться на любое количество клеток по горизонтали или вертикали. При этом она не может «перепрыгивать» через стоящие на ее пути фигуры. ...
C++ В чем моя ошибка?(ООП, классы) Что изменить в файле functionss.h? Заранее спасибо!!! Задание: Определить класс «матрица». В класс включить два конструктора: 1) создание матрицы по количеству столбцов и строк; 2)... подробнее

Показать сообщение отдельно
Barrent
244 / 120 / 41
Регистрация: 04.05.2013
Сообщений: 346
Завершенные тесты: 2
14.10.2015, 15:10
Цитата Сообщение от Байт Посмотреть сообщение
Это называется не сделать, а использовать средства. Сделано-то уже все за вас.
Отличный велик, зачем новый покупать-то?
Так и до ассемблера можно скатиться.

Добавлено через 13 минут
Вариант велосипедный
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
36
37
38
39
40
41
42
43
44
45
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <random>
 
using namespace std;
void Mix(vector<int>& numbers);
int random(int min, int max);
 
int main()
{
    for (int i = 0; i <= 10; i++) {
        cout << random(0, 10) << endl;
    }
 
    system("pause");
    return 0;
}
 
void Mix(vector<int>& numbers) {
    int steps = numbers.size() * numbers.size();
    int index1, index2;
    //настройка генератора
    random_device rd;
    mt19937 mersenne(rd());
    uniform_int_distribution<int> random_element(0, numbers.size() - 1);
    //перемешиваем 
    for (int i = 0; i < steps; i++) {
        index1 = random_element(mersenne);
        index2 = random_element(mersenne);
        swap(numbers[index1], numbers[index2]);
    }
}
 
int random(int min, int max) {
    static vector<int> numbers;
    if (numbers.size() == 0) {
        for (int i = min; i <= max; i++)
            numbers.push_back(i);
        Mix(numbers);
    }
    int number = numbers[numbers.size() - 1];
    numbers.pop_back();
    return number;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru