c++ - 使用 C++ 创建直方图(家庭作业)

标签 c++ formatting histogram

在我的 C++ 类(class)中,我们得到了分配的配对。通常我可以很容易地想出一个有效的算法,这次我想不出如何做到这一点来挽救我的生命。

我正在寻找能够解释算法(或者只是给我一些有用的提示)来完成这项工作的人。我仍处于计划阶段,想自己完成此代码以便学习。我只需要一点帮助就可以到达那里。

我们必须根据 4 或 5 整数输入创建直方图。它应该看起来像这样:

Calling histo(5, 4, 6, 2) should produce output that appears like:

        *
    *   *
    * * *
    * * *
    * * * *
    * * * *
    -------
    A B C D

这种格式简直让我受不了。更糟糕的是,我们不能使用任何类型的数组或使用其他库的“高级”排序系统。

起初我以为我可以将值从高到低排列。但后来我意识到,如果不使用排序功能,我不知道如何做到这一点,而且我不确定如何从那里继续。

感谢任何可以帮助我开始这项任务的人。 :)

最佳答案

按照以下方式尝试:

  1. 确定直方图中最大的数
  2. 使用这样的循环构造直方图:

    for(int i = largest; i >= 1; i--)

    在循环体内,执行第 3 步到第 5 步

  3. 如果 i <= value_of_column_a然后打印一个 * , 否则打印一个空格

  4. 对每一列重复第 3 步(或编写一个循环...)

  5. 打印换行符

  6. 使用 - 打印水平线

  7. 打印列标签

关于c++ - 使用 C++ 创建直方图(家庭作业),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9146353/

相关文章:

c++ - Visual Studio 下拉菜单中灰显的类方法

r - knitr: block 中的代码意外地被包装

python - Matplotlib - 绘制直方图截断条

c++ - 简单的C++密码程序

c++ - 为什么有两个运算符重载函数?

javascript - 按作者列表分组并格式化作者列表

c++ - Clang Format多行格式配置错误

Python:pandas dataframe.hist 中每个直方图的标题?

python - 如何适应函数的外壳

c++ - 迷宫生成算法设计(递归除法)