/******************************************************************************
ES 23
Leggere un array di interi di 10 posizioni e stampare il numero che compare
più volte all’interno dell’array, qualora ci siano più numeri che compaiano
lo stesso numero di volte stamparli tutti.
https://wordpress.com/post/ticoprof.wordpress.com/344
*******************************************************************************/
#include <iostream>
using namespace std;
int main()
{
int a[10]; //array con i numeri
int b[10]; //array per memorizzare i numeri che compaiono più volte
int volte=0; //numero di volte che compare un numero
int numeri=0;//quanti sono i numeri che compaiono più volte
//memorizzo l'array
cout<<"inserisci 10 numeri interi"<<endl;
for(int i=0;i<10;i++)
{
cin>>a[i];
}
//per ogni numero dell'array
for(int i=0;i<10;i++)
{
int volteattuale=1;
for(int j=i+1;j<10;j++)
{
if(a[j]==a[i])
{volteattuale++;}
}
if(volteattuale==volte)
{
b[numeri]=a[i];
numeri++;
}
if(volteattuale>volte)
{
b[0]=a[i];
numeri=1;
volte=volteattuale;
}
}
cout<<"ci sono "<<numeri<<" numeri che compaiono "<<volte<<" volte"<<endl;
cout<<"i numeri sono: ";
for(int i=0;i<numeri;i++)
{cout<<b[i]<<" ";}
return 0;
}