数组的初始化

SRY*_*ZDN -1 c++ arrays

我正在练习的代码的一部分如下:

void outputBarChart()
{
    cout<<"\nOverall grade distribution: "<<endl;
    const int frequencySize = 11;
    int frequency[frequencySize] = {};

    for(int student = 0; student < student; ++student)
        for(int test = 0; test < tests; ++test)
            ++frequency[ (grades[student][test])/10 ];

    for(int counter = 0; counter < frequencySize; ++counter)
    {
        if (counter == 0)
            cout<<" 0-9: "<<endl;
        else if (counter == 10)
            cout<<" 100: "<<endl;
        else
        {
            cout<<counter * 10<<"-"<<(counter*10)+9<<": ";
            for (int stars = 0; stars < frequency[counter]; ++stars)
                cout<<"*";
            cout<<endl;
        }

        //cout<<endl;
    }
}
Run Code Online (Sandbox Code Playgroud)

阵列频率应该在以下行中初始化:

++frequency[ (grades[student][test])/10 ];
Run Code Online (Sandbox Code Playgroud)

但它似乎没有那样工作,因为以下行不运行:

for (int stars = 0; stars < frequency[counter]; ++stars)
cout<<"*";
Run Code Online (Sandbox Code Playgroud)

如何正确初始化频率

Bil*_*nch 5

你的for循环被破坏了:

for (int student = 0; student < student; ++student)
Run Code Online (Sandbox Code Playgroud)

我想它应该是:

for (int student = 0; student < students; ++student)
                                       ^
Run Code Online (Sandbox Code Playgroud)