调用void函数时,cout没有输出

时间:2015-02-16 21:05:36

标签: c++

我是C ++的新手所以请耐心等待。

我正在尝试从某些参数创建直方图(区间大小,包含数量的数组的长度,最大数量的yadayada)。

细节是无关紧要的,也是我自己动摇的问题,虽然我觉得我的功能中有正确的公式。

当我从C ++ IO" cin"中分配变量时我可以输出那些" cout"但是,当我调用直方图函数时,也会调用" cout"说明,没有打印。

我的代码:

#include <iostream>
#include <cmath>

using namespace std;

void histogram(int l, int n, int k, int *a)
{
        int quantity = 0;
        for (int i = 1; i <= l; i++)
        {
                for (int j = 0; i < n; j++)
                {
                        if (a[j] >= (i-1) * k || a[j] <= i * k)
                        {
                                quantity++;
                        }
                }

                cout << (i-1) * k + ": " + quantity << endl;
                quantity = 0;
        }
}


int main()
{
        int l,n,k;
        int *a;

        a = new int[n];

        cin >> l >> n;

        for (int i = 0; i < n; i++)
        {
                cin >> a[i];
        }

        k = ceil((double)a[0]/l);

//      cout << k;

        histogram(l,n,k,a);

        return 0;
}

1 个答案:

答案 0 :(得分:1)

这行和字符串连接可能会有一些时髦的事情: cout << (i-1) * k + ": " + quantity << endl;您可以尝试重写为cout << ((i-1) * k) << ": " << quantity << endl;,以确保正确添加和连接。