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

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

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

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

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

Случайные числа
Кто знает, как получить случайное число (отдельно для целого и дробного) от 0...

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

Случайные числа
Написать генератор псевдослучайных чисел по алгоритму f(n) = f(n-1) + f(n-2) +...

Случайные числа
Создать матрицу случайных чисел, если max элемент располагается левее...

Случайные числа от -8 к 8
Как можно сделать рандомом числа от -8 к 8, нашел на форуме пример: int...

12
Sergei
1446 / 713 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
20.01.2009, 11:48 #2
Дай код поможем
0
Бартимеус
181 / 33 / 7
Регистрация: 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
Почетный модератор
6491 / 2265 / 187
Регистрация: 29.07.2006
Сообщений: 12,534
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
Почетный модератор
6491 / 2265 / 187
Регистрация: 29.07.2006
Сообщений: 12,534
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
Почетный модератор
6491 / 2265 / 187
Регистрация: 29.07.2006
Сообщений: 12,534
20.01.2009, 17:36 #9
А ты инициализировал генератор через srand.
0
norge_goth
62 / 62 / 13
Регистрация: 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 / 12
Регистрация: 05.01.2009
Сообщений: 394
29.01.2009, 18:34 #11
загляни в stdlib
0
Varlock
365 / 68 / 2
Регистрация: 25.09.2008
Сообщений: 401
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 / 13
Регистрация: 27.01.2009
Сообщений: 279
29.01.2009, 18:56 #13
а...все дошло, спасиба большое!
0
29.01.2009, 18:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2009, 18:56
Привет! Вот еще темы с решениями:

Случайные числа в C++
нужно присвоить переменной числа от -50 до 50, как сделать?

Случайные числа.
Есть числа 2,4,6,8,0 - из них нужно случайно выбрать одно. Как это сделать? ...

Случайные числа
Привет, мне надо наполнить массив случайными числами но толька чтоб они не...

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


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

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