tag
codice:
#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);
                                          
                                          };
}
     
     
     
     
     
     
     
     
     
     
     }
ecco comunque il codice intatto