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...
grazie...e auguri per queste feste passate....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; }

Rispondi quotando
