【问题标题】:Generating random arrays and storing in c [closed]生成随机数组并存储在 c [关闭]
【发布时间】:2014-03-21 22:25:04
【问题描述】:

如何生成仅包含 0 和 1 个大小为 8 的值的整数随机数组

例如

 randomval[]= {0,0,0,1,1,1,0,0};

然后它将值 0,0,0,1,1,1,0,0 存储在一个文件中,所以如果我想为“randomval”重新生成新值,它会检查 0,0,0,1,1 ,1,0,0 之前已被选择以确保它没有被重复并且会生成

类似的东西:randomval[]= 1,1,0,0,1,1,0,0

然后也将其存储在文件中

【问题讨论】:

  • 如果你想要随机数组,为什么要检查重复?在随机场景中,您应该期待重复,对吧?
  • 只生成随机的 8 位值,例如arc4random() & 255,并写出各个位。
  • 您有没有尝试过弄清楚如何做到这一点?你知道如何获得随机值吗?给定某个范围内的随机值,有几种明显的方法可以将它们减少到 0 或 1。
  • @gat 想要唯一值的原因可能有很多;这个问题与它们的生产方式是正交的。
  • 是的,吉姆,我已经熟悉了很多程序,但是被困在一个检查重复的算法上,我写了一个更大的场景来尝试帮助人们理解我的问题!谢谢

标签: c arrays file random


【解决方案1】:

每个 8 位二进制数字 (0/1) 的数组对应于 0 .. 255 范围内的一个整数。 因此,要生成 256 个随机不同数组的序列 您可以按照以下方式进行:

【讨论】:

  • 谢谢你,这太棒了我决定采用另一种方法来混合你的方法我生成了一个介于 0-255 之间的数字,然后将其位存储到一个 8 位数组中,然后将生成的数字存储在一个文件中然后,当我第二次生成另一个号码时,我会检查该号码是否在文件 THANK YOU 中是 alerdy !
猜你喜欢
  • 2016-10-07
  • 1970-01-01
  • 1970-01-01
  • 2013-04-15
  • 1970-01-01
  • 1970-01-01
  • 2016-09-02
  • 2020-09-22
相关资源
最近更新 更多