Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [C] simulazione torneo calcetto

    Ragazzi dovrei scrivere questo progetto in C :

    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

    Posso iniziare dando un array STRUCT tipo giocatore in questo modo:

    struct _giocatore
    {
    char cognome;
    char nome;
    }
    typedef struct _giocatore Giocatore;

    poi per assegnare ad ogni giocaore un numero casuale potrei innanzitutto definire un array da 1 a 10 ma come procedo per assegnarli singolarmente ad ogni giocatore?

    int intervallo[]{1,2,3,4,5,6,7,8,9,10];
    int lung.intervallo=10
    ..... come proseguo?

  2. #2
    ciao
    puoi assegnare un int alla struct oltre a char nome[20], char cognome[20] mettici anche int numero;
    e poi ti calcoli questo numero con la funzione rand()
    numero=rand()10;

  3. #3
    Originariamente inviato da tonynapoli
    ciao
    puoi assegnare un int alla struct oltre a char nome[20], char cognome[20] mettici anche int numero;
    e poi ti calcoli questo numero con la funzione rand()
    numero=rand()10;
    struct _giocatore
    {
    char cognome;
    char nome;
    int valore;
    }
    typedef struct _giocatore Giocatore;


    a questo punto dovrei usare una procedura
    void assegna_valore(Giocatore *num_casuale)
    {
    num_casuale->valore = rand%11; */ non so precisamente come assegnarlo all'int valore ho scritto -> ma non è esatto mi sapresti dire come si fa? }

  4. #4
    Originariamente inviato da Vincenzoflamini
    struct _giocatore
    {
    char cognome;
    char nome;
    int valore;
    }
    typedef struct _giocatore Giocatore;


    a questo punto dovrei usare una procedura
    void assegna_valore(Giocatore *num_casuale)
    {
    num_casuale->valore = rand%11; */ non so precisamente come assegnarlo all'int valore ho scritto -> ma non è esatto mi sapresti dire come si fa? }
    allora innanzitutto include <time.h> per la funzione random (assegnazione casuale)

    struct _giocatore
    {
    char cognome;
    char nome;
    int valore;
    }
    typedef struct _giocatore Giocatore;

    poi nel main o in una funzione scrivi srand(time(NULL)); (ke calcola un numero casuale da cui partire)
    e poi fai
    a Giocatore.valore=rand()10; //assegna a valore un numero da 0 a 9

  5. #5
    Originariamente inviato da tonynapoli
    allora innanzitutto include <time.h> per la funzione random (assegnazione casuale)

    struct _giocatore
    {
    char cognome;
    char nome;
    int valore;
    }
    typedef struct _giocatore Giocatore;

    poi nel main o in una funzione scrivi srand(time(NULL)); (ke calcola un numero casuale da cui partire)
    e poi fai
    a Giocatore.valore=rand()10; //assegna a valore un numero da 0 a 9
    Quindi senza usare una procedura ... però devo dare questo valore a 88 giocatori metto un ciclo for ?

  6. #6
    Originariamente inviato da Vincenzoflamini
    Quindi senza usare una procedura ... però devo dare questo valore a 88 giocatori metto un ciclo for ?
    beh 88 volte penso ke devi usare un array di struct ovvero:

    typedef struct _giocatore Giocatore[88]; //in questo modo hai ottenuto 88 giocatori

    poi fai un ciclo for con un contatore nel quale metti: Giocatore[contatore].numero=rand()10;

    in questo modo lo assegna a tutti gli 88 giocatori

  7. #7
    Originariamente inviato da tonynapoli
    beh 88 volte penso ke devi usare un array di struct ovvero:

    typedef struct _giocatore Giocatore[88]; //in questo modo hai ottenuto 88 giocatori

    poi fai un ciclo for con un contatore nel quale metti: Giocatore[contatore].numero=rand()10;

    in questo modo lo assegna a tutti gli 88 giocatori
    In questo modo ho fatto corregimi se sbaglio:

    codice:
    struct _giocatore 
    {
    char cognome;
    char nome;
    int valore;
    }
    typedef struct _giocatore Giocatore;
    
    Giocatore array_giocatori[88]; */definisco un array di tipo GIOCATORE da 88   
    for (i=0;i<88;i++)
    { 
        Giocatore[i].valore=rand()%11 */ assegno un numero casuale da 1a10 
    }
    Grazie delle risposte sei gentilissimo
    Mentre questo punto mi sembra difficile perchè bisogna assegnare char e tra l'altro non uguali : Inizialmente vengono considerati 88 giocatori identificati dal Cognome e Nome (anche solo lettere casuali). Penso mi conviene assegnare manualmente i nomi e i cognomi...

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Vincenzoflamini
    assegno un numero casuale da 1a10
    da 0 a 10 ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Originariamente inviato da oregon
    da 0 a 10 ...
    Ah infatti...GRAZIE , per il resto è giusto?

  10. #10
    dipende dal testo, cmq visto ke puoi mettere anche le lettere solamente diventa + facile.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.