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

Srand в карточной игре - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Стоит ли читать "Программирование. Принципы и практика использования C++" от Страуструпа http://www.cyberforum.ru/cpp-beginners/thread1505994.html
Доброго времени суток. Сейчас лето, сессия позади, но не хочется проводить время впустую, а заняться более активным изучением C++. На лекциях нам давали информацию из учебника Павловской Т.А.,...
C++ Определить, насколько случайное число случайно Учебная программа определяющая насколько случайное число случайно. из книги Оверленд Брайэн -С++ без страха. Я вставил директиву int hits; чтобы можно было работать с любым заданным числом. И вот я... http://www.cyberforum.ru/cpp-beginners/thread1505993.html
Как добавить дополнительный член в структуру? C++
Здравствуйте в wxDev C++ версия 7.3.1.3 Есть программа в ней структура из 4 элементов(членов), в один элемент созданной структуры присваевается значение функции с указателем в качестве параметра...
Можно ли написать более оптимальный код, используя цикл while? C++
собственно сабж. #include <iostream> using namespace std; int main() { int x, y, s, step = 1; cout << "Vvedite x" << endl;
C++ Реализация класса String http://www.cyberforum.ru/cpp-beginners/thread1505896.html
Доброго времени суток! Пишу свой класс String (учусь). И возник вопрос по реализации. Имеется определение класса: class String { private: char* str; int len; public:
C++ Посчитать сумму элементов в двумерном массиве и оформить результат в виде таблицы В двумерном массиве целых чисел посчитать сумму элементов: в каждой строке; в каждом столбце; одновременно по всем строкам и всем столбцам. Оформить следующим образом: 3 5 6 7 | 21 12... подробнее

Показать сообщение отдельно
Butt-Head
Заблокирован
28.07.2015, 10:35
Цитата Сообщение от Clive Посмотреть сообщение
как сделать так что бы
srand выдавал числа в диапазоне от 1 до 36
srand не выдаёт числа, он лишь настраивает "зерно", выдаёт значения функция rand.
В двух словах, rand - это псевдослучайные числа, srand нужен для создания видимости случайности, то есть если ты сделаешь по классике srand ( time(NULL) );, то твой rand будет каждый раз выдавать случайные числа, т.к. время будет всё время разным. В общем, rand выдаёт одну и ту же последовательность чисел для одинаковых аргументов srand, вызванных перед ним.

Цитата Сообщение от Clive Посмотреть сообщение
без повторов
можно ли это сделать без массивов ?
нет, т.к. тебе нужно где то ловить эти повторы.

В общем вот твой код:
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
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <set>
#include <vector>
 
int main()
{
    srand(time(NULL)); //генерим булщить, чтоб числа были случайные на этот раз
    std::set<int> uniqueData; //чисто для того, что б накопить 35 уникальных значений
    std::vector<int> result;
    while(uniqueData.size() < 35) //тебе нужно 35 чисел, раз с 1-го ...
    {
        int randNumber = rand() % 36 + 1; //до 36-и за счёт %36, от одного за счёт + 1
        if(uniqueData.count(randNumber) == 0)
        {
            result.push_back(randNumber); //добавляю в результат и они там будут в порядке добавления
            uniqueData.insert(randNumber); //если б результат брал отсюда, было бы просто 35 чисел по возрастанию, т.к. set и map - сортированны по умолчанию
        }
    }
 
    std::cout << "Result:" << std::endl;
    for(int i = 0; i < result.size(); i++)
        std::cout << "value " << i << " : " << result[i] << std::endl;
 
    int x;
    std::cin >> x;  //чтоб программа в левых IDE сразу не вылетала и ты мог видеть рузельтат
 
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru