_maxp_
27-01-2010, 10:27
salve a tutti, vi spiego il mio problema:
ho un vettore calciatori di tipo marcatore, che sarebbe una struttura che contiene i dati di un calciatore (nome, cognome, squadra di appartenenza, numero di gol segnati).
Devo scrivere una procedura che calcoli e stampi a video il numero totale dei gol segnati da ogni squadra.
Per il momento mi è venuto in mente solo questo:
for (i=0; i<n; i++)
{
gol=calciatori[i].gol;
for (j=0; j<n; j++)
if (i != j && strcmp(calciatori[i].squadra, calciatori[j].squadra) == 0)
gol=gol+calciatori[j].gol;
printf("La squadra %s ha segnato %d gol.", calciatori[j].squadra, gol);
}
In questo modo però effettua tutti i confronti possibili, anche quelli che non servono, ed inoltre stampa a video il numero di gol segnati da una squadra tante volte quanto è il numero di giocatori di quella squadra. :doh:
Qualcuno mi sa dire come evitare questi inconvenienti? :help:
ho un vettore calciatori di tipo marcatore, che sarebbe una struttura che contiene i dati di un calciatore (nome, cognome, squadra di appartenenza, numero di gol segnati).
Devo scrivere una procedura che calcoli e stampi a video il numero totale dei gol segnati da ogni squadra.
Per il momento mi è venuto in mente solo questo:
for (i=0; i<n; i++)
{
gol=calciatori[i].gol;
for (j=0; j<n; j++)
if (i != j && strcmp(calciatori[i].squadra, calciatori[j].squadra) == 0)
gol=gol+calciatori[j].gol;
printf("La squadra %s ha segnato %d gol.", calciatori[j].squadra, gol);
}
In questo modo però effettua tutti i confronti possibili, anche quelli che non servono, ed inoltre stampa a video il numero di gol segnati da una squadra tante volte quanto è il numero di giocatori di quella squadra. :doh:
Qualcuno mi sa dire come evitare questi inconvenienti? :help: