Ga naar inhoud

Array vullen met bools


Aanbevolen berichten

Ik ben net nieuw in c++, en ik wil een array vullen met random 1 of nul. Het grootste deel van arrays heb ik nu onder de knie, maar de random functie van c++ snap ik na flink wat goeglen nog steeds niet :cry: Kan iemand mij helpen aan een bool functie die random true of false oplevert? (zie dit niet als een 'doe dit voor mij'-post, door mij hiermee te helpen denk ik dat ik weer een heel stuk extra c++ snap)
Link naar reactie
Hier staat het volgens mij goed uitgelegd: [url]http://www.daniweb.com/forums/thread1769.html[/url] Als de code op bovenstaande site je duidelijk is, dan zou je in staat moeten zijn om een functie te maken die random true of false returnt. (Dat zou je dus op kunnen lossen door in de functie een random getal in het bereik 0 tot 1 te laten genereren, waarbij een waarde van 0 false returnt en een waarde van 1 true.)
Link naar reactie
Omdat de rand() functie een integer (int) oplevert, en RAND_MAX is ook een integer-constante. Als je een int door een int deelt, verlies je alles achter de komma omdat integers alleen volledige getallen zijn. RAND_MAX is (bijna) altijd groter dan wat rand() oplevert (tenzij rand() een keer precies RAND_MAX oplevert), dus zal die deling bijna altijd een getal kleiner dan 1 opleveren. Als je alles achter de komma weghakt, houd je dus altijd 0 over. De conversie naar float gebeurt pas NA de berekening.
Link naar reactie
Dat klopt. In principe hoef je maar één van de twee getallen te casten naar een float, omdat een berekening met 1 float en 1 integer ook een float als resultaat heeft. dus [code:1:37ce60b6bf]b = (float)rand() / RAND_MAX;[/code:1:37ce60b6bf] en [code:1:37ce60b6bf]b = rand() / (float)RAND_MAX;[/code:1:37ce60b6bf] zouden beiden ook moeten werken.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...