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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 54, средняя оценка - 4.94
umnyashka
0 / 0 / 0
Регистрация: 08.01.2009
Сообщений: 8
#1

случайные числа в с++ - C++

20.01.2009, 09:17. Просмотров 6582. Ответов 12
Метки нет (Все метки)

День добрый . Задание : игра в кубики с компом . Не могу понять как сделать для компа и человека действительно разные числа . Делал через rand() получались одинаковые , сделал одному через rand(), а второму через srand(time(NULL)) получилось , что один постоянно выигрывает . Кто знает ответьте пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2009, 09:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос случайные числа в с++ (C++):

Нужно чтобы случайные числа вставали в конец массива,а не удаляли числа - C++
#include <iostream> using namespace std; void main() { setlocale(LC_ALL, "Russian"); int n; // кол-во элементов массива ...

Случайные числа - C++
Доброго времени суток! Возможно ли сделать так, чтобы выпадали в случайном порядке числа 0, 2, 6, 8?

случайные числа - C++
Всем привет! нужна ваша помощь. мне нужно реализовать функцию, которая заполняет двумерный массив mat случайными числами. на сколько я...

Случайные числа - C++
как выполнить генератор случайных чисел генерировал любое число и присваивал число переменной

Случайные числа - C++
Всем привет! Мне нужно сгенерировать действительное случайное число в диапазоне от нуля до 1. Читал вот это:...

Случайные числа - C++
int main() { srand(time(0)); int a = rand()%100; cout << a << endl; system("pause"); } Есть вот такой способ задания...

12
Sergei
1435 / 702 / 41
Регистрация: 22.04.2008
Сообщений: 1,608
20.01.2009, 11:48 #2
Дай код поможем
0
Бартимеус
181 / 33 / 2
Регистрация: 29.10.2008
Сообщений: 283
20.01.2009, 13:18 #3
Цитата Сообщение от umnyashka Посмотреть сообщение
сделал одному через rand(), а второму через srand(time(NULL))
- так у одного они все время одни и теже и будут. засей генератор случайных чисел с помощью srand, а уже потом пользуйся самим "рандом"
0
umnyashka
0 / 0 / 0
Регистрация: 08.01.2009
Сообщений: 8
20.01.2009, 16:40  [ТС] #4
Цитата Сообщение от Бартимеус Посмотреть сообщение
- так у одного они все время одни и теже и будут. засей генератор случайных чисел с помощью srand, а уже потом пользуйся самим "рандом"
я учу с++ 4 недели , не понял на счет 'засей'

Добавлено через 1 минуту 32 секунды
Цитата Сообщение от Sergei Посмотреть сообщение
Дай код поможем




C++
1
2
3
4
   srand(time(NULL));
    int rez;
    rez=rand()%6+1;
    return rez;
0
Vourhey
Почетный модератор
6482 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
20.01.2009, 16:43 #5
Он имел ввиду инициализировать генератор чисел через srand. Потом генеришь рандом для одного, рандом для другого.
0
umnyashka
0 / 0 / 0
Регистрация: 08.01.2009
Сообщений: 8
20.01.2009, 17:13  [ТС] #6
Цитата Сообщение от Vourhey Посмотреть сообщение
Он имел ввиду инициализировать генератор чисел через srand. Потом генеришь рандом для одного, рандом для другого.
Понимаешь , я учусь в "шаге" , препод младше меня лет на 5 . Он как человек , я думаю хороший , но не преподаватель это точно . Тема про случайные числа была пройдена за час, думал что все понял , а оказалось ... Напишите пожалуйста кодом , как в две переменные забить по одному случайному числу . Дома есть Шилд , почитаю , сейчас на работе .
0
Vourhey
Почетный модератор
6482 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
20.01.2009, 17:16 #7
C++
1
2
a=rand()%6+1;
b=rand()%6+1;
0
umnyashka
0 / 0 / 0
Регистрация: 08.01.2009
Сообщений: 8
20.01.2009, 17:32  [ТС] #8
Цитата Сообщение от Vourhey Посмотреть сообщение
C++
1
2
a=rand()%6+1;
b=rand()%6+1;
вот смотри , что получается summ1 допустим игрок summ2 комп

C++
1
2
3
4
5
6
7
8
9
int summ1=0,summ2=0;
    for(int i=0;i<20;i++){
    int a,b;
a=rand()%6+1; 
b=rand()%6+1;
    summ1+=a;
    summ2+=b;
    cout<<"a= "<<a<<"b= "<<b<<"\n";}
    cout<<"summ1= "<<summ1<<"summ2= "<<summ2;
summ1 и summ2 постоянно одни и теже
0
Vourhey
Почетный модератор
6482 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
20.01.2009, 17:36 #9
А ты инициализировал генератор через srand.
0
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
29.01.2009, 18:24 #10
Цитата Сообщение от Vourhey Посмотреть сообщение
C++
1
2
a=rand()%6+1;
b=rand()%6+1;
Обьясни мне пожалуйста, а то я чего-то неврубаюсь, почему остаток деления ранд на 6 + 1 дает числа от 1 до 6?
0
Фенрир
42 / 38 / 2
Регистрация: 05.01.2009
Сообщений: 394
29.01.2009, 18:34 #11
загляни в stdlib
0
Varlock
365 / 68 / 2
Регистрация: 25.09.2008
Сообщений: 402
29.01.2009, 18:44 #12
Цитата Сообщение от norge_goth Посмотреть сообщение
Обьясни мне пожалуйста, а то я чего-то неврубаюсь, почему остаток деления ранд на 6 + 1 дает числа от 1 до 6?
потому, что когда ты делишь любое число на 6 (легко проверить на числах 1-6 ), остатки находятся в промежутке от 0 до 5-ти (если остаток больше 5-ти т.е. 6 и более он как минимум ещё раз поделится на 6 с остатком), и прибовляя 1 получаем от 1 до 6 +))
1
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
29.01.2009, 18:56 #13
а...все дошло, спасиба большое!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2009, 18:56
Привет! Вот еще темы с ответами:

Случайные числа от -8 к 8 - C++
Как можно сделать рандомом числа от -8 к 8, нашел на форуме пример: int r=(rand() % 11) + 5;//от 0 до 10 и +5, то есть от 5 до 15 но...

Случайные числа от 1 до 9 - C++
Можно так создавать случайные числа от 1 до 9 void main() { srand(time(0)); for (int i = 0; i&lt;20; i++) { cout &lt;&lt;...

Случайные числа - C++
Всем доброго времени суток, я чёт туплю, подскажите, как посчитать сколько чисел сгенерированных случайным образом в диапазоне попадают в...

случайные числа - C++
rand() в VS имеет диапазон от 0 до 32768? даже изменение RAND_MAX ничего не повысит верхний уровень?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Yandex
Объявления
29.01.2009, 18:56
Ответ Создать тему
Опции темы

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