Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何将矩阵[4][4]与我已有的数字随机组合?_C_Arrays_Algorithm_Matrix_Random - Fatal编程技术网

C 如何将矩阵[4][4]与我已有的数字随机组合?

C 如何将矩阵[4][4]与我已有的数字随机组合?,c,arrays,algorithm,matrix,random,C,Arrays,Algorithm,Matrix,Random,我对我需要创造的记忆游戏感到怀疑。我制作了一个大小为[4][4]的固定矩阵。 卡的数量必须根据用户选择的难度增加。 下面是一个逻辑示例: 在难度1->矩阵中只有3个相等的对,如:{1,1}{4,4}{5,5},这些数字必须成对随机,这样我才能完成矩阵 难度2->矩阵中只有3个相等的对-{1,1}{4,4}{5,5}{3,3}-再次需要我成对随机数,这样我才能完成矩阵 难度3->用一对随机数字完成[4][4]大小的矩阵 也许你应该看看 for(i=0;i<lim_linha;i++) 对于

我对我需要创造的记忆游戏感到怀疑。我制作了一个大小为[4][4]的固定矩阵。 卡的数量必须根据用户选择的难度增加。 下面是一个逻辑示例:

在难度1->矩阵中只有3个相等的对,如:{1,1}{4,4}{5,5},这些数字必须成对随机,这样我才能完成矩阵

难度2->矩阵中只有3个相等的对-{1,1}{4,4}{5,5}{3,3}-再次需要我成对随机数,这样我才能完成矩阵

难度3->用一对随机数字完成[4][4]大小的矩阵

也许你应该看看

for(i=0;i<lim_linha;i++)

对于(i=0;i考虑难度等级1:首先,您希望从集合{1,2,3,4,5,6,7,8}中随机选择三个数字,然后给这三个数字一对,然后将它们随机放置在4x4矩阵中

从8中选择3个数字的方法数称为从8中选择的3,并评估为

8! / (3! * (8-3)!)
减少到

8 * 7 * 6 / (3 * 2 * 1) = 56
因此,难度等级1的数字对可以通过列举这56种可能性并从1到56的整数中进行随机选择来确定

现在给定3对数字,希望将它们随机放置在4x4矩阵中。有:

  • 16*15/2=放置第一对的120种方式
  • 14*13/2=91种放置第二对的方式
  • 12*11/2=放置第三对的66种方式;以及
  • 3*2*1=6种方式选择三对的顺序
这意味着有120*91*66/6=120120种方法可以将三对放在一个空的4x4矩阵中。同样,通过确定这些120120可能性的枚举,并从1到120120的整数中进行随机选择,可以完成矩阵确定


同样,对于其他难度级别。

请更具体地说明您的疑问,告诉我们您的代码应该查看的部分,以及您尝试编译时会发生什么。这样做,将更容易帮助您。我很难获取向量的数量,并将此随机数放在下面的矩阵@gm_fernandes上(i=0;对不起,你的问题太难理解了。可能只是语法问题。但是(至少)这些术语不是标准术语,也不清楚它们的意思:“两个a两个”,“成对的[4][4]”,“满足矩阵”(在这种情况下满足什么?)例向量{1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8}矩阵[4][4]关于难度1,我希望这个向量的3对,例如:{1,1}{3,3}{6,6},在这个矩阵[4][4]的6个位置@我很抱歉,但我不确定我是否明白你的意思,请用葡萄牙语给我写信,我也是巴西人,所以也许我可以了解情况并帮助你改进你的问题。
8 * 7 * 6 / (3 * 2 * 1) = 56