生成10个随机矩阵,其中0和特定数量为1

mon*_*ona 4 c++ visual-c++

我创建了一个函数,使用srand和rand在C++中创建一个包含0和1的随机矩阵,但我不知道如何在每个矩阵中指定我需要相同数量的1例如5.我想放置一个变量计算1的数量,如果它们小于或等于5,则调整矩阵,但我想知道是否有更快的解决方案.谢谢

Sza*_*lcs 11

创建一个与矩阵具有相同元素数的向量,在开头包含适当数量的1,在结尾包含所有0.然后random_shuffle这个向量,并将元素复制到矩阵中.

(我经常使用它来生成具有固定边数的随机图的邻接矩阵.)