L'esercizio chiede:
Scrivere una funzione che preso in input un vettore di interi ordinato in senso non decrescente e la sua dimensione, elimina dal vettore tutti i duplicati compattandolo e ritorna il numero di elementi eliminati

Es:

Se V = [2,4,4,5,7,7,7] la funzione modifica il vettore in modo tale che i primi 4 elementi siano [2,4,5,7] e ritorna 3

Il codice è il seguente:

codice:
long EliminaDuplicati(int V[], long dim){

    int k=0, i;
    for(i=1;i<dim;i++){
       if(V[i] != V[k]{
           k++;
           V[k] = V[i];
       }
    }
    return dim - (k+1);
}
La cosa che mi sembra strana è che il doppione 4 viene effettivamente eliminato ma i 2 sette di troppo NO...ora vabbè che nell'esempio dice:
"in modo tale che i primi 4 elementi siano [2,4,5,7]" ma nel testo dice di fare la funzione che elimina i duplicati...e i 7 non vengono eliminati anche se effettivamente viene ritornato 3....

mmm...altra esercitazione preesame fatta di merda dal proff? :mc:

Grazie
Andrea