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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Стоит ли читать "Программирование. Принципы и практика использования C++" от Страуструпа http://www.cyberforum.ru/cpp-beginners/thread1505994.html
Доброго времени суток. Сейчас лето, сессия позади, но не хочется проводить время впустую, а заняться более активным изучением C++. На лекциях нам давали информацию из учебника Павловской Т.А., задания для практического изучения из практикума соответствующего автора. За время обучения, мы изучили первую главу (циклы, ветвления, массивы, матрицы, указатели, работа с типом char, структуры,...
C++ Определить, насколько случайное число случайно Учебная программа определяющая насколько случайное число случайно. из книги Оверленд Брайэн -С++ без страха. Я вставил директиву int hits; чтобы можно было работать с любым заданным числом. И вот я задаю массив новым способом .используя директиву.int hits; ,но почему то как был массив из 10 элементов так таким и остался..(то есть 10 элементов.).#include <iostream> #include <cmath> #include... http://www.cyberforum.ru/cpp-beginners/thread1505993.html
Как добавить дополнительный член в структуру? C++
Здравствуйте в wxDev C++ версия 7.3.1.3 Есть программа в ней структура из 4 элементов(членов), в один элемент созданной структуры присваевается значение функции с указателем в качестве параметра функции, в этой функции вычисляется другая функция её значение передается через указатель наружу. программа компилируеться, запускается все Ок, НО если добавить 5 элемент(член) в структуру, потом...
Можно ли написать более оптимальный код, используя цикл 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 1 1 1 | 15 0 7 12 1 | 20 --------------------- 15 3 19 9 | 56 Добавлено через 1 минуту не могу понять ошибку в коде подробнее

Показать сообщение отдельно
Butt-Head
Заблокирован
28.07.2015, 10:35     Srand в карточной игре
Цитата Сообщение от 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;
}
 
Текущее время: 15:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru