генерирование 10 случайных матриц с 0 и конкретным числом 1 - PullRequest
4 голосов
/ 07 ноября 2011

Я создал функцию для создания случайной матрицы, содержащей 0 и 1 в C ++, используя srand и rand, но я не знал, как указать, что в каждой матрице мне нужно одинаковое число 1 для примера 5. Я думал оположить переменную, которая считает число 1 и если они меньше или больше 5, чтобы скорректировать матрицу, но мне было интересно, если есть гораздо более быстрое решение. спасибо

1 Ответ

11 голосов
/ 07 ноября 2011

Создайте вектор с тем же количеством элементов, что и у матрицы, содержащий соответствующее число 1 в начале и все 0 в конце. Затем random_shuffle этого вектора и скопируйте элементы в матрицу.

(я обычно использую это для генерации матриц смежности случайных графов с фиксированным числом ребер.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...