Here is my problem:

Write a program that reads in a set of positive integers, representing test scores for a class, and outputs how many times a particular number appears in the list. You may assume that the data has a set at most 100 numbers and that -999 marks the end of the input data. The numbers must be output in increasing order: Example data:

55 80 78 92 95 55 78 53 92 65 78 95 85 92 85 95 95

output should look like:

Test Score Count

53 1

55 2

65 1

78 3

80 1

85 2

92 3

95 4

I started trying and am completely lost first I am trying just to get the data stored and to print out in order, not trying to do any kinda count yet until I can store and sort the data. This is what I have done but I know it isn't even close: I am not completely sure how arrays work just yet:

Code:#include <iostream> using namespace std; void testSort(int list[], int length); void fillArray(int list[], int length); void initialize(int list[], int length); int main () { int test[100]; int i; int lengthx; int score = 0; int length = 100; cout << "Enter how many test scores will be entered:"; cin >> lengthx; cout << endl; initialize(test, length); cout << "Enter " << lengthx << " test scores: "; fillArray(test, lengthx); testSort(test, lengthx); for ( i = 0; i < length; i++) cout << test[i] << " "; cout << endl; return 0; } void testSort(int list[], int length) { int temp; int iteration; int index; for (iteration = 0; iteration < length; iteration++) { for (index = 0; index < length - iteration; index++) if (list[index] > list[index + 1]) { temp = list[index]; list[index] = list[index+1]; list[index + 1] = temp; } } } void fillArray(int list[], int length) { int index; for (index = 0; index < length; index++) cin >> list[index]; } void initialize(int list[], int length) { int index; for (index = 0; index < length; index++) list[index] = 0; }