Ragazzi nessuno mi può aiutare?
Adesso ho questo codice qui:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
/*Simulazione del torneo di calcetto*/
struct _giocatore
{
char cognome[6];
char nome[6];
int valore;
int campo;
};
typedef struct _giocatore Giocatore;
struct _squadra
{
int player[11];
int valore;
int numero;
int numvittoriesquadra;
};
typedef struct _squadra Squadra;
void visualizza_aI (Squadra *s, int n)
{
int i;
for (i=7;i>=0;i--)
printf("squadra: n =%d vittorie = %d \n", (s+i)->numero, (s+i)->numvittoriesquadra);
}
/*Function di ordinamento*/
void order_ins (Squadra *s, int n)
{
int i,j;
int el_da_ins;
int oldNum;
int appog;
for (i=1;i<n;i++)
{
el_da_ins=(s+i)->numvittoriesquadra;
oldNum= (s + i)->numero;
j= i-1;
while (j>=0 && el_da_ins < (s+j)->numvittoriesquadra)
{
(s+j+1)->numvittoriesquadra = (s+j)->numvittoriesquadra;
(s+j+1)->numero = (s+j)->numero;
j--;
}
(s+j+1)->numvittoriesquadra = el_da_ins;
(s + j + 1)->numero = oldNum;
}
}
int main()
{
srand(time(NULL));
Giocatore array_giocatori[88];
Squadra array_squadra[8];
char alfabeto[]={'a','b','c','d','e','f'};
char *nomesquadra[8]={"0ZERO","1UNO","2DUE","3TRE","4QUATTRO","5CINQUE","6SEI","7SETTE"};
int lung_alfabeto=6;
int i,j,k,q,z,w,u,t,r,s;
int dimensione=8;
int indice;
int n=88;
int nc,num;
int numerocasuale=0;
int contatore=0;
int risultato0,risultato1;
int valoresquadra[8];
int numvittoriesquadra[8]={0};
int lung_numvittorie=8;
int vartemp=0;
int temp=0;
char stringacas[6]="abcde";
/* assegnazione nomi (lettere casuali ai giocatori ) */
for (i=0;i<88;i++)
{
array_giocatori[i].valore=rand()%11;
for (j=0;j<6;j++)
{
nc= rand()%lung_alfabeto;
stringacas[j]=alfabeto[nc];
array_giocatori[i].nome[j] = stringacas[j];
}
}
for (q=0;q<8;q++)
{
for (u=0;u<11;u++)
{
num=rand()%88;
array_squadra[q].player[u]= num;
}
}
/* determino i valori delle squadre */
for (t=0;t<8;t++)
{
array_squadra[t].valore=0;
}
for (w=0;w<8;w++)
{
for (r=0;r<11;r++)
{
array_squadra[w].valore += array_giocatori[array_squadra[w].player[r]].valore;
}
}
numerocasuale=rand()%2;
printf("Inizio Simulazione torneo: Le 8 Squadre, formate da 11 giocatori si scontrano (eliminazione diretta) per determinare la vincitrice \n ");
printf("\n");
/* Inserisco gli indici delle squadre nel array squadra */
for (i=0;i<8;i++)
{
array_squadra[i].numero=temp;
temp++;
}
/* alogritmo per lo scontro delle squadre , le squadre vincenti si sfidano fino a determinare un solo vincitore */
while (dimensione != 1) {
for ( i = 0; i < dimensione; i += 2) {
Squadra s1 = array_squadra[i + 0];
Squadra s2 = array_squadra[i + 1];
if ((s1.valore * rand()%2 ) > (s2.valore* rand()%2))
{
numvittoriesquadra[s1.numero]+=1 ;
printf("valori squadre prima di giocare %s = %d e %s = %d \n",nomesquadra[array_squadra[i].numero],s1.valore ,nomesquadra[array_squadra[i+1].numero] , s2.valore);
printf("ha vinto la squadra %s \n", nomesquadra[array_squadra[i].numero] );
printf(" \n");
array_squadra[i/2]=array_squadra[i];
}
else
{
numvittoriesquadra[s2.numero]++ ;
printf("valori squadre prima di giocare %s = %d e %s = %d \n",nomesquadra[array_squadra[i].numero],s1.valore ,nomesquadra[array_squadra[i+1].numero] , s2.valore);
printf("ha vinto la squadra %s \n", nomesquadra[array_squadra[i+1].numero]);
printf(" \n");
array_squadra[i/2]=array_squadra[i+1];
}
}
dimensione = (dimensione / 2);
}
for(i = 0; i <8; i++)
{ array_squadra[i].numvittoriesquadra = numvittoriesquadra[i];}
for (i=0;i<8;i++)
{
array_squadra[i].numero=vartemp;
vartemp++;
}
printf("num vittorie squadre non ordinato \n");
printf(" \n");
/* chiamata alla function ordinamento (ordino le vittorie in ordine crescente) passando come paramentro un tipo strutturato
affinchè possa ordinare anche il nome relativo alla squadra */
visualizza_aI(array_squadra,lung_numvittorie);
order_ins(array_squadra,lung_numvittorie);
printf("Squadre In ordine decrescente di vittoria \n");
printf(" \n");
visualizza_aI(array_squadra,lung_numvittorie);
system("PAUSE");
return 0;
}
come stampo i nomi dei giocatori che hanno vinto di più?