tagecco comunque il codice intattocodice:#include<stdio.h> #include<string.h> #include<stdlib.h> #define N 2 #define M 10 struct persona { char nome[10]; char cognome[10]; unsigned short eta; }; struct persona vettore[N]; void flush(void); void leggistringa(char [],unsigned long); void riempi(void); void stampa(void); void scambio(char [],unsigned long , unsigned long); void bubblesort(void); main(){ riempi(); stampa(); bubblesort(); getchar(); } void flush(void){ while(getchar()!='\n'); } void leggistringa (char s[], unsigned long dim) { int i; for(i=0;(s[i]=getchar())!='\n'&& i<dim-1;i++); s[i]='\0'; } void riempi() { unsigned long i; for(i=0;i<N;i++) { printf("Inserisci il nome: "); leggistringa(vettore[i].nome, 10); printf("Inserisci il cognome: "); leggistringa(vettore[i].cognome, 10); printf("Inserisci l'eta: "); scanf("%d", &vettore[i].eta); flush(); } } void stampa() { int i; for(i=0;i<N;i++) { printf("\nIl nome %i e': %s", i, vettore[i].nome); printf("\nIl cognome %i e': %s",i, vettore[i].cognome); printf("\nL'eta' %i e': %d",i, vettore[i].eta); } } void scambio(char s[], unsigned long i, unsigned long j){ char temp [10]= vettore[i].cognome; vettore[i].cognome=vettore[j].cognome; vettore[j].cognome=char temp[M]; } void bubblesort(){ int ordinato; unsigned long dim; unsigned long i,j; ordinato=0; for(j=0;j<dim-1 &&!ordinato;j++){ ordinato=1; for(i=dim-1;i>j;i--) if(vettore[i].cognome<vettore[i-1].cognome){ scambio(vettore[i].cognome,i,i-1); ordinato=0; printf("\n vettore ordinato %s",vettore[i].cognome); }; } }