Ragazzi questo programma che dovrebbe eliminare i valori che risultano duplicati in un array di n elementi, non funziona alla perfezione, perchè si elimina i valori duplicati ma alla fine il programma stesso duplica l'ultimo valore del vettore come e dovesse compensare la mancanza del valore eliminato.....ecco l'intero codice, chissà forse voi vedete l'errore...

codice:
#include <stdio.h>
#define dim 10

int main(){
    
    int a[dim];
    int n, i, j, n0;
    
    printf("decidere dimensioni vettore = ");
    scanf("%d", &n);
    
    for(i=0;i<n;i++){
    printf("a[%d]= ", i);
    scanf("%d", &a[i]);
    }
    
    i=0;
    while(i<n-1 && a[i]!=a[i+1]){ //RICERCA DEL PRIMO VALORE DUPLICATO
                i++;j=i;
                }
   while(i<n-1){
                 
                 if(a[i]!=a[i+1]){
                 j=j+1;
                 a[j]=a[i+1];
                 }
                 i++;
                 n0=j+1;
                 }
                 for(j=0;j<n;j++)
                 printf("%d\n", a[j]);
                 
                 system ("pause");
                 return 0;
                 
}
grazie...e auguri per queste feste passate....