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

时间:2011-11-07 11:06:59

标签: c++ visual-c++

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

1 个答案:

答案 0 :(得分:11)

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

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