Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [JAVA] Duplicati nell'array?

    Inserire da tastiera gli elementi nei due array e controllare che siano valori ordinati in modo crescente e che non vi siano duplicati; in caso negativo avvertire l'utente.

    Come si controlla che non ci siano valori duplicati nell'array? Ci sto provando da ieri ma senza risultati... Sono alle primissime armi se non si fosse capito.

    P.s. In questo caso si tratta di array popolati da char, ma se qualcuno mi dicesse come si fa sia con i char che con gli int, gli sarei infinitamente grata!

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Spiega meglio cosa devi fare. Nel senso, inizialmente parli di "due array" ma i duplicati sono da cercare all'interno di un singolo array o controllare che tra i due array non ci siano elementi doppi?

    Comunque il controllo è abbastanza banale:

    1 - Ti salvi l'elemento i-esimo
    2 - Scorri l'array a partire dalla posizione i + 1
    3 - per ogni nuovo elemento controlli se è == a quello che hai salvato prima: se sono uguali hai trovato un duplicato
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    I duplicati sono da cercare in ogni singolo array.

    1. L'elemento lo salvo in una variabile temporanea?
    2. L'array si scorre con il ciclo for?
    3. Il controllo con == va fatto sempre nel ciclo?

  4. #4

    Moderazione

    Benvenuto sul forum! Le discussioni relative a Java non sono trattate qui, ma nell'apposita sottosezione.

    Provvedo a spostare il thread.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Ops, scusatemi ^^"

  6. #6
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Ciao, ti posto un esempio minimo su come si può controllare la presenza di duplicati in un array. Prova a vederlo e facci sapere se hai dubbi.

    codice:
    public class DuplicatiArray {
    	
    	public static void main(String[] args) {
    		int[] arr1 = new int[]{1,2,2,3,4,3,5};
    		int[] arr2 = new int[]{1,2,3,4,5,6};
    		
    		System.out.println("Duplicati nel primo array: "+ciSonoDuplicati(arr1));
    		System.out.println("Duplicati nel secondo array: "+ciSonoDuplicati(arr2));
    	}
    	
    	
    	/**
    	 * 
    	 * @param array - l'array da controllare
    	 * @return true se ci sono duplicati, false altrimenti
    	 */
    	private static boolean ciSonoDuplicati(int[] array) {
    		// variabile di appoggio
    		int tmp;
    		
    		// per ogni elemento
    		for(int i=0; i<array.length; i++) {
    			
    			// salvo il valore dell'elemento
    			tmp=array[i];
    			
    			// guardo, a partire dall'elemento successivo
    			// se ci sono duplicati
    			for(int j=i+1; j<array.length; j++) {
    				if(array[j] == tmp) return true;
    			}
    		}
    		
    		// se sono arrivato fino a qui
    		// significa che non ci sono duplicati
    		return false;
    	}
    }

  7. #7
    Ce l'ho fatta, grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.