如何找到一系列随机数的频率
How to find the frequency of a range of random numbers?
我是c++的初学者,我正试图从100个数字的随机数生成器中找到数字(1-6)的频率。我只能使用rand、srand、cin、cout、loops和if-else命令。是否可以只使用这些命令创建一个显示频率的程序?非常感谢。
您可以使用std::map<int, int>
,其中first
是随机数,second
是计数。
因此,频率将是计数/总数。
考虑给您的每个命令的功能:
srand(int):对随机数生成器进行种子处理;你可以给它一个简单的数字(比如0、1或7),这样每次运行代码时,你的随机数生成器都会有相同的输出(这有助于检查你的进度。如果每次都得到不同的输入,很难判断你是否朝着正确的方向前进)
rand():为您生成一个介于0和rand_MAX之间的随机数。要生成某个范围内的数字,请看看这个线程(modulus和rand()是如何工作的?)。
cin:读取用户的输入。
cout:输出到控制台(例如cout<<"string";将向控制台输出单词"string")
循环:while和for的两个主要循环。而循环只进行到满足某个条件为止;for循环允许您创建一个临时变量、检查一个条件和增加一个变量。提示:当您确切地知道要运行多少次迭代时,for循环会更好。
if/else:允许您检查给定的条件,如果该条件为true,则执行一个代码块,如果为false,则转到另一个代码段(从else)。请注意,您还可以建立else-if's(即,如果(条件){//code}else-if(条件){//code})。
现在回过头来看这个问题,我们需要什么来解决这个问题?1.一种生成随机数(rand)的方法2.一种控制我们生成多少数字的方法(循环)3.一种检查我们生成的数字是否是某个数字的方法(if/else)4.一种存储每个数字(变量)的频率的方法5.将我们的发现输出到屏幕(cout)的方法
我希望我没有透露太多——从这里开始,你可以在整个程序中形成逻辑的确切规范(即,定义什么变量,如何执行循环,使用什么if/else,以及如何输出和输出什么)。
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 整数不会重复超过随机数
- 芬威克树(BIT).找到具有给定累积频率的最小索引,单位为 O(logN)
- 在指针的帮助下,文本文件中单词的频率
- if数组上的随机数
- 函数计算用户按下按钮的频率
- 在将数字随机生成为数组期间从内存输出随机数的数组
- 在条件变量中触发错误信号的频率是多少
- 半随机数生成C++
- 程序在尝试猜测它选择的随机数时进入无限循环?
- 有没有办法在 c++ 中同时生成随机数?如果没有,是否有解决方法?
- 具有随机数的二维数组不会更改
- 随机数未达到限制
- 我想生成许多矩阵并用随机数填充它
- <random>在实践中应该实际使用哪个随机数引擎? std::mt19937?
- 制作具有平均值的随机数生成器
- 为什么 rand 不在我的代码中生成随机数?
- C++ 随机数生成器:尝试将结果作为向量获取,但通过制作 void 函数来执行此操作而出现错误
- 从给定种子生成相同的随机数序列C++
- 如何找到一系列随机数的频率