namespace interrogazione_1; class Program { static void Main(string[] args) { ContaOccorrenze(Input()); } static int[] Input() { Console.Clear(); //dichiarazione e inizializzazione variabili int input = 0, i = 0; const int dimensione = 10; int[] ritorno = new int[dimensione]; //Riempimento array while (i < dimensione || input == Int32.MaxValue) { Console.Write($"Inserire il valore n. {i + 1}: "); input = Convert.ToInt32(Console.ReadLine()); if (input == Int32.MaxValue) {//escludo un valore per effettuare la stampa correttamente successivamente Console.Write("Valore non valido"); Pausa(); } else { ritorno[i] = input; i++; } } return ritorno; } static void ContaOccorrenze(int[] p_array) { Console.Clear(); //dichiarazione e inizializzazione variabili int[] elementi = new int[p_array.Length]; int[] occorrenze = new int[p_array.Length]; int temp = Int32.MaxValue, occorrenza, k = 0; bool incontrato = false; for (int i = 0; i < p_array.Length; i++) {//riempio gli array con un valore non inseribile per poi effettuare la stampa elementi[i] = Int32.MaxValue; occorrenze[i] = Int32.MaxValue; } for (int i = 0; i < p_array.Length; i++) { occorrenza = 0;//reset del contatore delle occorrenze if (p_array[i] != temp) {//se l'elemento che sto guardando ora (p_array[i]) è uguale a quello che stavo guardando prima (temp), non vado a contare quante volte è presente e salto al prossimo elemento temp = p_array[i]; for (int j = 0; j < p_array.Length; j++) { //verifico se p_array[i] è già nell'array elementi if (elementi[j] == temp) { incontrato = true; } } if (!incontrato) {//se p_array[i] non è nell'array elementi for (int j = 0; j < p_array.Length; j++) { if (p_array[j] == temp) { occorrenza++;//conto tutte le volte che si ripete } } elementi[i] = temp;//segno l'elemento corrente occorrenze[i] = occorrenza;//segno quante volte occorre } incontrato = false;//reset della variabile } } //mostro i risultati while (elementi[k] != Int32.MaxValue && occorrenze[k] != Int32.MaxValue) { //mostro tutti gli elementi e le occorrenze che non siano il valore che ho escluso Console.WriteLine($"L'elemento {elementi[i]} ricorre {occorrenze[i]} volte"); k++; } } static void Pausa() { Console.WriteLine("Premere un tasto per continuare. . ."); Console.ReadKey(); Console.Clear(); } }