La funzione deve prendere un array di interi ordinati ed eliminare i duplicati, restituendo n, lunghezza del nuovo array.
codice:#include <stdio.h> int eliminaDuplicati(int v[], int n) { int i, k, found=0; for(i=0; i<n; i++) { do { if (v[i+1]==v[i]) found=1; else { found=0; k=i+1; for(k; k<n-1; k++) v[k]=v[k+1]; n=n-1; } } while(found==0); } return n; } void main() { int a[8]; int i; int m; printf("Inserisci i numeri del vettore: "); for (i=0; i<8; i++) scanf("%d", &a[i]); m=8; m=eliminaDuplicati(a, m); for(i=0; i<m; i++) printf("%d ", a[i]); printf("%d", m); }

Rispondi quotando
