我有点卡住了我的程序,该程序是读取一组结果,然后构造一个直方图,表明每个十年中有多少标记,即10-20等之间有多少等。直方图程序的帮助
我有2个问题
- 我如何编辑我的代码,只允许readExamResults存储在0 -100
- 范围内的那些我怎样才能获得PrintHisto打印*在某运输及工务局局长()取决于哪个十年中的每个结果在哪里,例如如果我输入了3,4,5,11,23,那么它应该在10年内显示3 *,在10 - 20年内显示1,在20 - 30年代显示1。
任何帮助将不胜感激。
代码:
using namespace std;
void readExamMarks(int examMarks[], int sizeOfArray){
cout << "Please enter a set of exam marks to see a histogram for:" << endl;
int x = 0;
for(int idx = 0; idx < sizeOfArray; idx++){
cin >> x;
examMarks[idx] = x;
}
}
void printExamMarks(int examMarks[], int sizeOfArray){
for(int x = 0; x < sizeOfArray; x++){
cout << setw(5) << examMarks[x];
}
cout << endl;
}
void printHisto(int examMarks[], int sizeOfArray){
system("cls");
for(int x = 0; x < 6; x++){
cout << setw(5) << "*" << endl;
}
}
int main()
{
int examMarks[5];
readExamMarks(examMarks, 5);
printHisto(examMarks, 5);
printExamMarks(examMarks,5);
system("PAUSE");
}
对于第二部分考虑看着['计数sort'](http://en.wikipedia.org/wiki/Counting_sort)。 – 2013-04-05 15:10:57