Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643

    [C]cosa c'è che non và in questo programma?

    cosa c'è che non và in questo programma?

    Il programma dovrebbe simulare 6000 volte il lancio di un dado e dovrebbe analizzare quante volte è uscita ogni singola faccia mediante l'utilizzo di un array

    codice:
    /* Programma che simula 6000 lanci di un dado e ne analizza i risultati */
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(){
        
        int i=0; 
        int face;
        int array[6] = {0};   // Dichiaro l'array e lo inizializzo a 0;
        srand(time(NULL));  // Insemina lòa funzione srand con la funzione time
        
        for(i=0; i<6000; i++){
            
            face = 1+(rand()%6);        // Genera il numero del dado estratto
            array[face]++;
        }
        
        for(i=1; i<=6;i++)
            printf("faccia %d:    %d valori\n", i, array[i]);
        
        system("PAUSE");
        return 0;
    }
    Grazie
    Andrea

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837

    Re: [C]cosa c'è che non và in questo programma?

    Originariamente inviato da D4rkAng3l
    cosa c'è che non và in questo programma?
    e dillo tu
    credo che questa
    face = 1+(rand()%6);
    sia sbagliata
    mi pare sia (int)(rand() * 6)

  3. #3
    Utente di HTML.it L'avatar di dannie
    Registrato dal
    Aug 2005
    Messaggi
    336

    Re: Re: [C]cosa c'è che non và in questo programma?

    Originariamente inviato da floyd
    credo che questa
    face = 1+(rand()%6);
    sia sbagliata
    mi pare sia (int)(rand() * 6)
    :master: Uhmmm, il mio C è molto arrugginito ma credo che la sua espressione fosse corretta: rand()%6 restituisce un numero fra 0 e 5, sommato a uno indica quale faccia del dado (da 1 a 6) è uscita, in modo da incrementarne il numero delle occorrenze. Sempre in tema di C arrugginito mi chiedo se è corretta l'inizializzazione int array[6] = {0}; scritta così... :master:

    Quindi mi aggrego: dicci cos'è che non va di preciso!

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    lui crea un array di 6 pos (0-5)
    poi accede alle posizioni 1-6
    sinceramente se deve usare il * o il % non mi ricordo
    ma le posizioni dell'array sono sbagliate

  5. #5
    Utente di HTML.it L'avatar di dannie
    Registrato dal
    Aug 2005
    Messaggi
    336
    Ok, allora giusto: se dichiari ar[6] sono 6 valori, quindi posizioni da 0 a 5!!
    Ok, allora ecco come potrebbe essere:
    codice:
    for(i=0; i<6000; i++){
            
            face = rand()%6; 
            array[face]++;
        }
        
        for(i=0; i<6;i++)
            printf("faccia %d:    %d valori\n", i+1, array[i]);
    Funzia?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643
    dopo provo..cmq l'errore deve essere quello..nella stanchezza sono proprio rincoglionito

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301

    Moderazione

    Originariamente inviato da D4rkAng3l
    cosa c'è che non và in questo programma?
    Dovresti usare titoli più significativi per le tue discussioni, indicando anche una breve sintesi del problema nel titolo.

    Ho corretto io il titolo di questa discussione.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.