在我的 C++ 类(class)中,我们得到了分配的配对。通常我可以很容易地想出一个有效的算法,这次我想不出如何做到这一点来挽救我的生命。
我正在寻找能够解释算法(或者只是给我一些有用的提示)来完成这项工作的人。我仍处于计划阶段,想自己完成此代码以便学习。我只需要一点帮助就可以到达那里。
我们必须根据 4 或 5 整数输入创建直方图。它应该看起来像这样:
Calling histo(5, 4, 6, 2) should produce output that appears like:
*
* *
* * *
* * *
* * * *
* * * *
-------
A B C D
这种格式简直让我受不了。更糟糕的是,我们不能使用任何类型的数组或使用其他库的“高级”排序系统。
起初我以为我可以将值从高到低排列。但后来我意识到,如果不使用排序功能,我不知道如何做到这一点,而且我不确定如何从那里继续。
感谢任何可以帮助我开始这项任务的人。 :)
最佳答案
按照以下方式尝试:
- 确定直方图中最大的数
使用这样的循环构造直方图:
for(int i = largest; i >= 1; i--)
在循环体内,执行第 3 步到第 5 步
如果
i <= value_of_column_a
然后打印一个*
, 否则打印一个空格对每一列重复第 3 步(或编写一个循环...)
打印换行符
使用
-
打印水平线打印列标签
关于c++ - 使用 C++ 创建直方图(家庭作业),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9146353/