Discussione chiusa
Visualizzazione dei risultati da 1 a 5 su 5

esercizio elimina duplicati

  1. #1
    ciao ragazzi, ho un problema con un esercizio di c++
    comando: inserire nel vettore B i valori del vettore A senza duplicati (nel caso ci fossero inserire il valore solo una volta). non è possibile usare altri vettori oltre ad A e B
    ho provato a farlo ma esce soltanto il duplicato ad esempio se inserisco 1,2,1,3,4 viene fuori solo il valore 1 e non 2,3,4.
    vi allego il codice che ho fatto
    #include <iostream>
    #define DIM 5
    using namespace std;
    int main()
    {
    	int a[DIM], b[DIM], i, j, cont, k;
    	for (i = 0; i < DIM; i++)
    	{
    		cin >> a[i];
    	}
    	k = 0;
    	for (i = 0; i < DIM; i++)
    	{
    		cont = 0;
    		for (j = i+1; j < DIM; j++)
    		{
    			if (a[i] == a[j])
    			{
    
    				cont++;
    			}
    		}
    		if (cont > 0)
    		{
    			b[k] = a[i];
    			k++;
    		}
    	}
    	return 0;
    }
    

  2. #2
    Ferrari_and non è in linea Scolaretto
    Ciao,
    la tua routin ti cerca solo i valori duplicati del Vettore A

    L'alternativa è avere scorrere il vettore A e per ogni posizione di A cercare in tutto B se esiste lo stesso valore in caso negativo inserire il valore di a in B.

    Esistono molti altri metodi ma questo dovrebbe essere il più semplice da scrivere in un codice (non il più efficace).

  3. #3
    Quote Originariamente inviato da Ferrari_and Visualizza il messaggio
    Ciao,
    la tua routin ti cerca solo i valori duplicati del Vettore A

    L'alternativa è avere scorrere il vettore A e per ogni posizione di A cercare in tutto B se esiste lo stesso valore in caso negativo inserire il valore di a in B.

    Esistono molti altri metodi ma questo dovrebbe essere il più semplice da scrivere in un codice (non il più efficace).
    ma il vettore B è vuoto, cioè devo inserire i valori del vettore A dopo averli analizzati no?

  4. #4
    Ferrari_and non è in linea Scolaretto
    Inizialmente si Il vettore B deve essere vuoto si riempirà un po alla volta.
    cicla tutto il vettore A.

    dentro questo ciclo scorri tutti gli elementi che hai già inserito in B se nessuno è = a[i] allora inserisci l'elemento in B

    Ad ogni ciclo di A B potrebbe a aumentare di una unità

    Al primo ciclo B non ha elementi quindi lo inserisci
    Al secondo controlli che il valore non sia già nei primi n valori di B (dove n = 1 o 0 a seconda dell'indice iniziale ) se va bene lo inserisci e aumenti N di 1
    Il terzo ciclo controlli che il valore non sia già nei primi n valori di B se va bene lo inserisci e aumenti N di 1
    Fino ad arrivare alla fine del vettore A

  5. #5
    Chiuso per crossposting con iprogrammatori.

    Leggi il regolamento.
    ℹ️ Leggi di più su AntonioG ...

Discussione chiusa

Potrebbero interessarti anche ...

  1. Risposte: 8
    Ultimo Post: 14-11-2017, 19:30
  2. Problemi Query elimina duplicati
    Da massimoqaz1971 nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 05-11-2013, 09:16
  3. esercizio c++
    Da Lala111 nel forum C/C++
    Risposte: 1
    Ultimo Post: 05-10-2013, 17:45
  4. esercizio
    Da Andrea Accettulli nel forum Presentati
    Risposte: 2
    Ultimo Post: 12-11-2012, 19:51
  5. Esercizio
    Da clod nel forum C/C++
    Risposte: 1
    Ultimo Post: 03-03-2011, 12:05