21/02/11 12:10
xarcius
Salve ragazzi,mi chiedevo se potete aiutarmi con questo esercizio (sono ancora un principiante quindi avrò fatto di sicuro qualche errore nel codice sotto)
TESTO:
Si supponga di gestire un torneo di calcio tra 8 squadre. Inizialmente vengono
considerati 88 giocatori identificati dal Cognome e Nome (anche solo lettere casuali). Si
suppone che ogni giocatore possa assumere qualsiasi ruolo in campo. Ad ogni giocatore
viene assegnato un numero casuale nell’intervallo [0,10]. In maniera casuale vengono
create 8 squadre.
Il torneo viene simulato facendo scontrare due squadre alla volta. Ogni squadra vincitrice
si scontrerà con la squadra vincitrice di un’altra partita fino ad arrivare ad una singola
squadra vincitrice.
Una partita viene vinta da una squadra secondo la seguente regola
· la somma dei pesi di una squadra moltiplicata per un numero casuale
nell’intervallo [0, 1] è maggiore della corrispondente operazione sull’altra
squadra
· il processo si ripete finché non si ottiene un vincitore
Simulare 100 volte il torneo e ritornare l’elenco completo delle squadre in ordine
decrescente di vincite. Si stampino i nomi dei giocatori della squadra che ha vinto di più.
L’algoritmo usa la function rand() in stdlib per generare numeri casuali: si ricorda che,
per esempio, se numero_casuale è un int, la chiamata numero_casuale=rand()%11;
genera un numero casuale intero (distribuzione uniforme) nell’insieme
(0,1,2,3,4,5,6,7,8,9,10). Usare sempre la srand() per rendere automatica la scelta iniziale
del seed della sequenza di numeri casuali.
Ho iniziato a scrivere il codice,ma la parte in cui non ho proprio idee è come far scontrare le due squadre,al corso non ho mai sentito parlare di una cosa del genere e su internet non c'è niente che mi possa aiutare
Più di così non so più come andare avanti
TESTO:
Si supponga di gestire un torneo di calcio tra 8 squadre. Inizialmente vengono
considerati 88 giocatori identificati dal Cognome e Nome (anche solo lettere casuali). Si
suppone che ogni giocatore possa assumere qualsiasi ruolo in campo. Ad ogni giocatore
viene assegnato un numero casuale nell’intervallo [0,10]. In maniera casuale vengono
create 8 squadre.
Il torneo viene simulato facendo scontrare due squadre alla volta. Ogni squadra vincitrice
si scontrerà con la squadra vincitrice di un’altra partita fino ad arrivare ad una singola
squadra vincitrice.
Una partita viene vinta da una squadra secondo la seguente regola
· la somma dei pesi di una squadra moltiplicata per un numero casuale
nell’intervallo [0, 1] è maggiore della corrispondente operazione sull’altra
squadra
· il processo si ripete finché non si ottiene un vincitore
Simulare 100 volte il torneo e ritornare l’elenco completo delle squadre in ordine
decrescente di vincite. Si stampino i nomi dei giocatori della squadra che ha vinto di più.
L’algoritmo usa la function rand() in stdlib per generare numeri casuali: si ricorda che,
per esempio, se numero_casuale è un int, la chiamata numero_casuale=rand()%11;
genera un numero casuale intero (distribuzione uniforme) nell’insieme
(0,1,2,3,4,5,6,7,8,9,10). Usare sempre la srand() per rendere automatica la scelta iniziale
del seed della sequenza di numeri casuali.
Ho iniziato a scrivere il codice,ma la parte in cui non ho proprio idee è come far scontrare le due squadre,al corso non ho mai sentito parlare di una cosa del genere e su internet non c'è niente che mi possa aiutare
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int i,c,x,y; srand(time(NULL)) nc=rand ()%11; char nome_squadra1[]={"e r","t y","w e","q f","j f","x m","o p","l o","z m","l p","q p"}; char nome_squadra2[]={"q m","a p","l g","a p","q o","p e","z g","y x","g f","k n","v p"}; char nome_squadra3[]={"n e","m n","p o","t r","c n","w p","k q","p r","h q","u p","j r"}; char nome_squadra4[]={"o e","f e","g p","y m","x p","p h","m o","u k","z p","l u","h f"}; char nome_squadra5[]={"d p","q a","r t","p q","u w","k f","s d","e y","l y","e g","w p"}; char nome_squadra6[]={"c i","b i","p w","x t","l k","p t","q g","m e","l u","u w","d o"}; char nome_squadra7[]={"x p","a q","k l","h q","a b","q j","o m","j w","j z","r e","z x"}; char nome_squadra8[]={"g r","c y","h l","p k","f e","m a","n t","e l","a t","i a","m r"}; for (i=1;i<=8;i++) { nc = 1+rand()%8 } RIGUARDO ALLO SCONTRO AVEVO PENSATO DI FARE COSì: if(x*nc=rand()%2 > y*nc=rand()%2)
Più di così non so più come andare avanti
Ultima modifica effettuata da Il Totem 22/02/11 11:15
aaa