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