Как сделать чтобы на экран выводилось рандомное число, после чего именно это число записывалось в переменную?
Есть игра. Когда игрок вводит y, на экран выводится рандомное число. Как это число записать в переменную, чтобы потом сложить все очки и сказать общее кол-во очков?
А как?
int a = rand()%3;
cout << a;
//Output 2
Но если я потом сделаю так:
a+=1;
а может быть уже другим рандомным числом, например 1, и а + 1 будет не 3, как должно было быть а 2. Если вы имели ввиду как-то по другому напишите пожалуйста код
Xasthul: У вас явные проблемы с пониманием что такое переменная и ее значение. Когда вы сделали int a = rand()%3 - вы записали туда результат rand()%3, вычисленный в данном такте. И все. Потом на протяжении всего кода всем пофиг что в a вы записали из рандома - оно не меняется.
Xasthul: Чтобы учились хорошо. Найдите себе преподавателя. Может лучше пойдет. Про выбор плюсов как старотового языка - вообще молчу, погуглите по тостеру.
GavriKos: Я просто перед с++ учил питон, и в нем если присвоить в переменную функцию, то когда просто написать переменную, типо:
а;
Сработает функция. А так как мы присвоили функцию rand(), я думал что при каждом использовании переменной ее значение будет меняться
Xasthul: И в питоне, и в 90% других языков вы присваиваете в 90% случаев не ФУНКЦИЮ а РЕЗУЛЬТАТ выполнения функции. Можно конечно в переменную поместить указатель на функцию, но вам пока такое не надо.
И если я правильно помню то и в питоне a = rand() запишет в а именно результат, и каждое использование a никакого отношения к rand иметь не будет.
Где оно у меня есть? Если сделать так:
int a = 2 + rand() %52;
cout << a << endl;
cout << a;
Выведется 2 разных числа, типо: 48, 23. А мне нужно, чтобы я получил рандомное число в переменную и оно не изменялось:
int a = 2 + rand() %52;
cout << a << endl;
cout << a;
//Output 2, 2
Понятно? :)