package esercitazione1; import java.util.Scanner; public class Esercizio7imp { public static void main(String[] args) { /* * lettura array da input utente */ Scanner in = new Scanner(System.in); System.out.println("Quanti numeri vuoi memorizzare?"); int n = in.nextInt(); int[] data = new int[n]; int i = 0; for (; i < n; i++) { System.out.println("Inserisci il prossimo numero da memorizzare:"); data[i] = in.nextInt(); } /* * inizio algoritmo per la ricercca dei duplicati */ int j; boolean found; int[] done = new int[n]; // memorizzo i numeri già esaminati, così da non ripetere le stampe per i numeri duplicati int count; for (i = 0; i < n; i++) { // per ogni numero memorizzato found = false; for (j = 0; j < n; j++) { // cerco se l'ho già esaminato if (data[i] == done[j]) { found = true; break; } } if (found) { // se sì, salto l'algoritmo di ricerca duplicati SOLO per questo numero (data[i]) continue; } else { // altrimenti lo memorizzo ed eseguo l'algoritmo done[i] = data[i]; count = 0; for (j = 0; j < n; j++) { // cerco duplicati if (data[i] == data[j]) { count++; } } if (count > 1) { System.out.println("Il numero " + data[i] + " compare " + count + " volte nell'array"); } } } } }