Професионална програма
Loading...
+ Нов въпрос
DimovIvan avatar DimovIvan 6 Точки

C++Fundamentals-Arrays-Exercise-Most Frequent Number

Most Frequent Number
Write a program that find the most frequent number in a given sequence of numbers.
Numbers will be in the range [0, 9].
In case of multiple numbers with the same maximal frequent, print all of them, ordered, from smallest to largest, separated by spaces.
Examples
 
Input                               Output    Output       
13
4 1 1 4 2 3 4 4 1 2 4 9 3    4          The number 4 is the most frequent        
8
2 2 2 2 1 2 2 2                   2           The number 2 is the most frequent     

Не мога да се справя с тази задача. Намирам най-често срещаната цифра, но не мога да измисля логитата когато са няколко цифри с еднаква максимална честота. Ако ми помогнете да я измисля ще съм много благодарен.

https://pastebin.com/aijnRL9e

0
Open Courses
RaUndreundre avatar RaUndreundre 52 Точки

Ето как подходих към проблема. Направих масив от 10 елемента със нули. Ако от конзолата получа примерно 4, добавям една единица в елемента с индекс 4 и т.н. накрая имам масив от елементи на които стойностите са честотата с която се среща дадената стойност. Напр. arr[4] ако съдържа числото 5, това означава че стойността 4 се е появила 5 пъти. После правя for цикъл да проверя кое е най голямото число в масива и то се записва в int max. после правя още един for цикъл и претърсвам масива за стойности равни на int max. Когато срещне такъв отпечатвам ИНДЕКСА където е намерен, последвано от отпечатване на шпация.
П.П.
При такова отпечатване накрая остава отпечатана една излишна шпация, но Джъжд е доста "приятелски" настроен за такива недостатъци и минава без допълнителни усложнения в кода.

0
DimovIvan avatar DimovIvan 6 Точки

Много благодаря за помощта! Цял ден я мисля.

0