1.9k views

A program $P$ reads in $500$ integers in the range $[0, 100]$ representing the scores of $500$ students. It then prints the frequency of each score above $50$. What would be the best way for $P$ to store the frequencies?

1. An array of $50$ numbers

2. An array of $100$ numbers

3. An array of $500$ numbers

4. A dynamically allocated array of $550$ numbers

edited | 1.9k views
I think its option A. What do u think>?
please explain sir. Also, why is it not option C ?
how option A
Here,  given prints the frequency of each score above 50 that means  500/ ( avobe 50) =  less than 10 score.

only 9 score which frelquency is avobe 50. we requare only an array of 9 number .

So by question best answer is (A)  .

as we our area of interest is only the $50$ numbers so take An array of $50$ numbers where $A[0]$ corresponds to $51...A[49]$ corresponds to $100$ then after reading an input just increment the counter in correct position as said above
edited by
frequency of each score above 50:

@bhagirathi mam

here frequency means continue incresing by 1? till 100

rght?

frequency : Number of times score is repeated i.e. 51 marks are getting by 10 students so the frequency of 51 is 10.

@bhagirathi why r u taking this "An array of 50 numbers where A[0] corresponds to 51...A[49] corresponds to 100 "?
@suvasish Because the problem statement asks for the frequency of student who scored more than 50 so why bother storing irrelevant data?

@ saxena0612 i understood that ,but A[0] can be 60 rather than 51?

Yes it can be! but iterating serially would be convenient rather than randomly .. Hope that make sense?
Like if you want to store the frequency of 60 in a[0] then presenting the complete chart of frequency would take a much longer than the stated way.
We can think it of hash table of 50 numbers