【问题标题】:How to update a histogram without conditionals?如何在没有条件的情况下更新直方图?
【发布时间】:2016-01-14 10:12:07
【问题描述】:

我正在编写一个掷骰子程序,它掷骰子并打印一个直方图,显示每个数字出现的次数。 (1-6)

例如:

1-xxxxxxx

2-xxx

3-xxxxxxxxx

4-xx

5- 6-x

程序询问用户应该掷骰子多少次,这就是循环应该运行多少次并掷骰子。骰子上的每个数字在程序中都表示为一个向量元素,因此例如 5 出现的次数(比如 7 次)将是 vector[4] == 7 我的问题是我不允许使用 switch 语句或 if 语句来更新每个数字的计数。我问了我的 TA,他告诉我 vector::operator[] 会起作用,但我什至不知道它有什么作用,而且在线参考也无济于事。有谁知道如何做到这一点,因为我对 c++ 和我的教授还很陌生。没有教太多。谢谢!

【问题讨论】:

  • 您刚刚使用了vector::operator[],在下一句中您说您不知道它的作用!?!?目前还不清楚你的问题是什么。请出示您的代码。
  • 你可能会得到太多的低票,不要惊慌
  • 只是为了澄清:“......例如,出现 5 的次数(比如 7 次)将是 vector[4] == 7”vector::operator[]跨度>
  • @tobi303 我想我知道它现在是什么了(笑),我的 TA 只是说使用它,所以我以为他指的是运算符重载之类的。

标签: c++ vector histogram operator-keyword dice


【解决方案1】:

由于您在问题中提供的信息很少,我假设您(几乎)所有东西都在运行和工作,您只需要知道如何使用[]....来增加向量。

int r = random number between 1 and 6
my_vector[r-1] += 1;

就是这样:)

【讨论】:

  • 我明白了,非常感谢。我没有考虑使用弹出的数字来访问相应的矢量元素。
  • @Flower 不要忘记接受答案 ;) 并不是说​​我迫切需要代表,而是经常被遗忘
猜你喜欢
  • 2014-03-04
  • 2019-05-04
  • 1970-01-01
  • 2021-02-03
  • 2013-12-03
  • 1970-01-01
  • 2012-11-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多