Scrieți funcția care are antetul:
int NrMinMaxAp(vector &a)
Funcția va returna numărul care apare de cele mai multe ori în a. Dacă există mai multe numere care apar de număr maxim de ori, se va returna minimul dintre ele.
#3798 pbinfo
lucaciucandrei:
este pentru la scoala problema? ai voie sa folosesti stl sau ti se cere s-o faci clasic?
Răspunsuri la întrebare
Răspuns de
3
int NrMinMaxAp(std::vector < int > & a) {
std::vector < int > ::iterator i;
std::map < int, int > va;
std::map < int, int > ::iterator vai;
int min, k;
for (i = a.begin(); i <= a.end(); i++)
va[ * i]++;
min = va.begin() -> first;
k = va.begin() -> second;
vai = ++va.begin();
for (; vai != va.end(); vai++)
if (vai -> second > k) {
k = vai -> second;
min = vai -> first;
}
else
if (vai -> second == k)
if (vai -> first < min)
min = vai -> first;
return min;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Fizică,
9 ani în urmă