Buonasera a tutti!
Sono alle prese con il seguente problema: Dato un'array di N interi, dire qual'è l'elemento che compare con maggior frequenza fra i numeri inseriti. Io ho pensato la seguente soluzione che però non si comporta in output come dovrebbe, ovvero mi restituisce sempre la prima posizione... Potreste aiutarmi indicandomi dove sbaglio??
codice:
#include <iostream>
using namespace std;
int main () {
cout << "Inserisci dimensione array: ";
int n;
cin >> n;
int a[n];
cout << "Inserisci elementi array" << endl;
for (int i = 0; i < n; i++){
cin >> a[i];
}
int freq = 0;
int conta = 0;
int piu_freq = 0;
for (int i = 0; i < n; i++){
for (int j = 0; j < n; j++){
if (a[i] == a[j])
conta++;
if (conta > freq){
freq = conta;
piu_freq = a[i];
}
conta = 0;
}
}
cout << "Il piu' frequente e': " << piu_freq << endl;
}
Vi ringrazio anticipatamente per la pazienza e la cortesia! Scusate la mia inesperienza e gli eventuali errori.