Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C] Lancio di un dado a sei facce e funzioni casuali.

    [CODE]/*Programma che simula il lancio di un dado a sei facce per 20 volte.Sarà inoltre utilizzata la funzione srand() in modo da randomizzare i risultati*/

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    main(){

    int d;

    srand(time(NULL));

    for(d=1;d<=20;d++){
    printf("%10d",1+(rand()%6));


    if(d%5==0)
    printf("\n");


    }





    }

    [\CODE]


    Tutto ok ma non capisco questa istruzione:

    codice:
    if(d%5==0)
                    printf("\n");
    significa che se il resto è 0 il numero (resto della divisione tra il numero della faccia del dado e 5) deve andare a capo?

    quindi i risultati sono visualizzati come:

    5
    4
    1
    2
    6

    E' corretto?

  2. #2

    Re: [C] Lancio di un dado a sei facce e funzioni casuali.

    Originariamente inviato da Germain49
    codice:
    if(d%5==0)
                    printf("\n");
    significa che se il resto è 0 il numero (resto della divisione tra il numero della faccia del dado e 5) deve andare a capo?
    No. Se il resto della divisione tra il numero del lancio e 5 è zero va a capo, il che significa in sostanza che ogni cinque lanci va a capo.
    Inoltre, dato che la printf specifica una larghezza di campo di 10 caratteri, l'output sarà una cosa del genere:
    codice:
             1         6         1         4         2
             4         1         2         2         4
             5         4         3         6         5
             1         3         3         4         4
    P.S.: l'indentazione (e qualche altra finezza), cribbio!
    codice:
    /*Programma che simula il lancio di un dado a sei facce per 20 volte.
     Sarà inoltre utilizzata la funzione srand() in modo da randomizzare i risultati*/
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    int main(void)
    {
        int d;
        srand(time(NULL));
        for (d=1; d<=20; d++)
        {
            printf("%10d",1+(rand()%6));
            if (d%5==0)
                printf("\n");
        }
        return 0;
    }
    Amaro C++, il gusto pieno dell'undefined behavior.

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.