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

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

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

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

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

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

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

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

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

12
Sergei
1449 / 716 / 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
Почетный модератор
6492 / 2266 / 185
Регистрация: 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
Почетный модератор
6492 / 2266 / 185
Регистрация: 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
Почетный модератор
6492 / 2266 / 185
Регистрация: 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

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

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

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


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

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

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