Форум программистов, компьютерный форум CyberForum.ru

Коряво работает сброс рандома - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Добавить в массив столбец http://www.cyberforum.ru/cpp-beginners/thread1548477.html
Создать проект, содержащий двумерный динамический массив, заполненный случайными числами. Высота и длина веток массива вводятся с клавиатуры. Реализовать функцию, которая принимает указатель на двумерный динамический массив, высоту и длину веток массива и добавляет в конец массива ещё один столбец. #include <iostream> #include <iomanip> #include <stdlib.h> int ** insertRow( int ** arr,...
C++ Кроссворд из 4 слов Пользователь вводит с клавиатуры 4 слова. Из них нужно составить кроссворд(2 слова по горизонтали, 2 по вертикали, каждое слово пересекается с двумя другими). Ребят, подскажите алгоритм хотя бы, именно 4 слова должно быть http://www.cyberforum.ru/cpp-beginners/thread1548468.html
C++ Найти сумму отрицательных элементов массива
Заданы целые числа a1, a2,…, an. Написать программу, которая находит сумму отрицательных элементов (при формировании массива обеспечить, чтобы были отрицательные элементы).
C++ Оценка сложности алгоритма
народ хелп for(i=0; i<N; i++) for(j=0; j<N; j++) for(k=0; k<N; k++) someFunction(i,j,k); Добавлено через 25 секунд какая сложность алгоритма?
C++ Вычисление общей калорийности продукта http://www.cyberforum.ru/cpp-beginners/thread1548321.html
Поле first – целое положительное число, калорийность 100 г продукта; поле second – дробное положительное число, масса продукта в килограммах. Реализовать метод power() – вычисление общей калорийности продукта. Требуется реализовать тип данных с помощью структуры-пары и необходимо произвести демонстрацию возможностей структуры в функции main(). Понятия не имею с чего начать, помоги...
 

Показать сообщение отдельно
nmcf
4311 / 3732 / 1258
Регистрация: 14.04.2014
Сообщений: 14,629
09.10.2015, 23:22     Коряво работает сброс рандома
Какая-то проблема или с этим древним rand() или с преобразованием в диапазон. Используй современные средства:
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <random>
#include <chrono>
 
using namespace std;
 
//функция модуль
double aabs(double a, double b){
    double c;
    c = a - b;
    if (c<0){ 
        c = c * (-1); 
    }
    return c;
}
 
//функция случайного числа в диапазоне от a до b
inline int random_ab(int a, int b, std::default_random_engine &g)
{
    //return a + (b - a) * ((double)rand() / (double)RAND_MAX);
    std::uniform_int_distribution<int> distribution(a, b);
    return distribution(g);
}
inline int random_01()
    {
        return rand() < RAND_MAX / 2 ? 0 : 1;
    }
 
 
int main()
{
//================================================
    std::default_random_engine g(std::chrono::system_clock::now().time_since_epoch().count());
//================================================
 
    setlocale(LC_ALL, "Russian");
 
    srand(time(NULL));
 
 
    //объявление массива лифтов и их заполненности
    int lifts[2][3];
 
    //цикл заполнения позиции лифтов и их заполненности
    for (int ii = 0; ii < 3 ; ii++){
        lifts[0][ii] = random_ab(1, 40, g); // позиция лифта
        lifts[1][ii] = random_01();  // заполненность (0 - пустой, 1 - заполнен)
    }
 
    double poz;
    cout << "Введите номер этажа, где находится человек: ";
    cin >> poz;
    cout << endl;
 
    //печать позий лифтов и их заполненности
    for (int j = 0; j < 3; j++){
        cout << j + 1 << "-ый лифт находится на " << lifts[0][j] << " этаже и он ";
        if (lifts[1][j] == 1) {
            cout << "заполнен";
        }
        else{
            cout << "пустой";
        }
        cout << endl;
    }
    
    system("pause");
}
Числа не повторяются при таком способе.
 
Текущее время: 17:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru