Vincenzoflaminio
15-07-2010, 14:07
Salve , dovrei ordinare una struct ma non so come passarla nella function che ordina i parmetri.
Il mio problema sta nell 'ordinare in ordine decrescente di vittorie le squadre, e stamparne i nomi .
Avevo scritto questo codice che mi permette di ordinare le vottorie della squadra essendo solo un array ad entrare come argomento e copiando i dati strutturati in un array semplice:
struct _squadra
{
int numero /*nome della squadra identificata da un numero */;
int numvittoriesquadra;
};
typedef struct _squadra Squadra;
void order_ins (int array[], int n)
{
int i,j;
int el_da_ins;
j=j-i;
for (i=1;i<n;i++)
{
el_da_ins=array[i];
j= i-1;
while (j>=0 && el_da_ins < array[j])
{
array[j+1] = array[j];
j--;
}
array[j+1] = el_da_ins;
}
main
{
/*copio le vittorie in un array /*
for(i = 0; i <8; i++)
{ array_squadra[i].numvittoriesquadra = numvittoriesquadra[i];}
/* chiamata all'array
order_ins(numvittoriesquadra,lung_numvittorie);
Il problema è che quando vado a fare il printf ho ordinato le vittorie delle squadre ma non i nomi..:mad:
Il mio problema sta nell 'ordinare in ordine decrescente di vittorie le squadre, e stamparne i nomi .
Avevo scritto questo codice che mi permette di ordinare le vottorie della squadra essendo solo un array ad entrare come argomento e copiando i dati strutturati in un array semplice:
struct _squadra
{
int numero /*nome della squadra identificata da un numero */;
int numvittoriesquadra;
};
typedef struct _squadra Squadra;
void order_ins (int array[], int n)
{
int i,j;
int el_da_ins;
j=j-i;
for (i=1;i<n;i++)
{
el_da_ins=array[i];
j= i-1;
while (j>=0 && el_da_ins < array[j])
{
array[j+1] = array[j];
j--;
}
array[j+1] = el_da_ins;
}
main
{
/*copio le vittorie in un array /*
for(i = 0; i <8; i++)
{ array_squadra[i].numvittoriesquadra = numvittoriesquadra[i];}
/* chiamata all'array
order_ins(numvittoriesquadra,lung_numvittorie);
Il problema è che quando vado a fare il printf ho ordinato le vittorie delle squadre ma non i nomi..:mad: