Mitenkäs tuota rand()-funktiota käytetään noin niinkuin syvällisemmin? Tiedän, että se saadaan käyttöön #incluudaamalla standardi stdlib.h-kirjasto ja syntaksi on kutakuinkin seuraava:
unsigned int j;
j = rand();
Jonka jälkeen muuttuja j sisältää satunnaisen arvon, mutta mitenkäs määritetään millaisia lukuja haluan j:n arvoksi saada? Eli voinko rajata rand()-funktion palauttaman arvon jollekin lukualueelle? Ilman minkäänlaista rajausta luku varmaankin sijaitsee -32768 ja 32768 välillä, koska se on muuttujan j lukualue tietotyypillä int.
rand()-funktio C-kielessä
3
513
Vastaukset
- randomaizeri
Okei, korjaan tuon lukualue-ennusteeni. Unsigned int tietysti tuottaa lukualueeksi 0 - 65536.
Onko rand-funktiossa edellisessä viestissä tiedustelemiani parametrejä ollenkaan?
Tai onko olemassa sellaista funktiota, jolle voi kyseiset parametrit antaa?- pröööt
jakojäännöksellä rajaat haluamallesi luvulle.
srand((unsigned)time(0));
int random_integer;
for(int index=0; index - qweqeqeq
Se arvoalue tuskin on monessakaan nykyajan kääntäjässä 0-65535, koska yleensä int on ainakin 32-bittinen, jolloin lukualue on 0-4294967295. Maksimiarvo löytyy vakiosta RAND_MAX. Jakojäännöstaktiikkakin kyllä toimii, mutta myös näin saat satunnaislukuja väliltä 0-1:
double satlu = (double)rand() / RAND_MAX;
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1077763
Siekkilässä ajettu ihmisten yli- mitä tapahtui? Länsi-Savo ei ole uutisoinut asiata
Manneja, vaiko matuja?1126026- 835177
- 1394546
Alavuden sairaala
Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan113220- 592997
- 582938
Törkeää toimintaa
Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818102454- 612437
Hei........
Pelkkä sun näkeminen saa mut hymyilemään pitkin iltaa. Oot niin 🤩😘 Edellinen poistettiin.562066