Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Nopanheittoja

Duthoron [09.06.2006 11:20:49]

#

Yritin tehdä ohjelmaa joka näyttää kolme satunnaista lukua väliltä 1-6.. Muuten tekeleeni on toimiva, paitsi että luvut, jotka se näyttää, ovat samat.

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

int main(void) {
int maara = 3;
int kesto =0;
do{

          /*Nopanheitto*/
    time_t siemen;
    time(&siemen);
/*Satunnaislukugeneraattorin alustus*/
    srand(siemen);


    int noppa = rand() %6;

    if (noppa == 0){
          noppa = 6;}

    printf ("Noppa n\x84ytt\x84\x84 %i. \n", noppa);
           kesto++;
           }while (kesto < maara);
}

Mikä on pielessä?
... Ottakaa huomioon että olen vasta aloittelija :D

os [09.06.2006 11:23:14]

#

srand(time(NULL))

Antti Laaksonen [09.06.2006 11:24:15]

#

Siirrä satunnaislukujen alustus silmukan ulkopuolelle.

Samalla siemenarvolla satunnaisluvut ovat aina samat, ja tässä siemenluku päätetään kellon sekuntien mukaan.

Duthoron [09.06.2006 11:26:37]

#

toimii! kiitoksia :)

...
Mitenköhän sen saisi tallentamaan suurimman niistä kolmesta luvusta?

Siis vaikka muuttujaksi nimeltä 'suurin'

os [09.06.2006 11:34:49]

#

Lisää ohjelman alkuun

int suurin = 0;

Ja silmukkaan:

if(noppa>suurin) suurin = noppa;

Duthoron [09.06.2006 11:40:07]

#

kiitoksia


taas

ilmoittelen kyllä jos keksin muuta lisättävää :D

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta