rand() для переменных

259
08 ноября 2017, 02:29

Можно ли создать несколько переменных и при помощи функции rand() из этих переменных выбрать случайным образом одну?

Answer 1

Можно сделать через массив:

std::vector<int> v(5, 0);
\\ устанавливаем значения в массиве
int value = v.at(rand() % 5);

Такой способ позволяет оформить все кратко, если предполагается большое кол-во переменных.

Answer 2
int a, b, c;
int& x = (rand() > 3000) ? a : (rand() < 2000) ? b : c;

Устроит?

Это если вам нужна именно переменная - с возможностью записи и т.д. Если ее значение - и того проще,

int x = (rand() > 3000) ? a : (rand() < 2000) ? b : c;

Естественно, rand() нужно использовать с умом; тут я привел просто для примера...

Это все имеет смысл, когда у вас уже есть переменные, из которых нужно делать выбор. Если вы сами их создаете... конечно, можно работать с массивом, вектором и т.д., но есть у меня подозрение, что это вопрос о том, какой рукой держать микроскоп при забивании гвоздей. Вам точно нужны именно переменные и выбор одной из них?

READ ALSO
C++ - Приватная структура - стек

C++ - Приватная структура - стек

Мне нужно создать стек-структуруДанные структуры должны быть private или protected

271
Динамическая загрузка текстур в OpenGL

Динамическая загрузка текстур в OpenGL

Всем доброго времени сутокПоявилась такая проблема: Нужно динамически менять текстуру для примитива

256
VS: статическая линковка std библиотеки

VS: статическая линковка std библиотеки

Скажите можно ли все библиотеки линковать динамически (то есть с ключем /MD), а стандартную библиотеку - статически (/MT)? Статическая стандартная...

174