Rijtjeshuis 170 m^2 uit 1955, bij renovatie in 2022 dak/vloer/spouwisolatie, overal HR++, vvw benedenverdieping, 7x Jaga Strada en 2 handdoekradiatoren met Tado’s. Quatt hybrid op dakkapel sinds einde 2023.
argh zit de hele avond al met dit probleem en 't lijkt zich nu opgelost te hebben, dit werkt blijkbaar dus wel:
float probability = (rand()%RAND_MAX)/float(RAND_MAX);
maar ik vertrouw hier niet helemaal op dus elegantere oplossingen zijn nog welkom!
float probability = (rand()%RAND_MAX)/float(RAND_MAX);
maar ik vertrouw hier niet helemaal op dus elegantere oplossingen zijn nog welkom!
Rijtjeshuis 170 m^2 uit 1955, bij renovatie in 2022 dak/vloer/spouwisolatie, overal HR++, vvw benedenverdieping, 7x Jaga Strada en 2 handdoekradiatoren met Tado’s. Quatt hybrid op dakkapel sinds einde 2023.
Lijkt me een prima oplossing, hoewel het geen zin heeft rand() te modden met RAND_MAX, aangezien rand gegarandeerd niet groter zal worden dan RAND_MAX (vandaar de definitie).Op maandag 18 maart 2002 23:10 schreef RealCato het volgende:
float probability = (rand()%RAND_MAX)/float(RAND_MAX);
Zelf zou ik het schrijven als: (float)rand/RAND_MAX, maar dat is een kwestie van smaak. Jou methode is net zo goed (en volledig wiskundig correct).
Anoniem: 37277
getal = rand() % 19+1;
getal = getal / 100;
Dan heb je een getal tussen de 0,01 en 0,20.
Of bedoel je dit niet, het is namelijk nogal simpel.
getal = getal / 100;
Dan heb je een getal tussen de 0,01 en 0,20.
Of bedoel je dit niet, het is namelijk nogal simpel.
maak daar maar van rand () / ((float)RAND_MAX + 1.f)
je wilt namelijk een waarde van 0 <= rnd < 1, en niet 0 <= rnd <= 1
Want stel je wilt een dobbelsteen simuleren. Daarvoor doe je floor (frand () * 6 + 1) (waarbij frand () je float random functie is)
als frand () 1 kan worden, dan is er een kans (van 1 / RAND_MAX) dat het 7 wordt, en dat moet natuurlijk niet
oh btw, casten naar float doe je dus door er (float) voor te zetten, en dus niet zoals jij deed: float (waarde)
je wilt namelijk een waarde van 0 <= rnd < 1, en niet 0 <= rnd <= 1
Want stel je wilt een dobbelsteen simuleren. Daarvoor doe je floor (frand () * 6 + 1) (waarbij frand () je float random functie is)
als frand () 1 kan worden, dan is er een kans (van 1 / RAND_MAX) dat het 7 wordt, en dat moet natuurlijk niet
oh btw, casten naar float doe je dus door er (float) voor te zetten, en dus niet zoals jij deed: float (waarde)
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Kwestie van stijl. T(u) werkt in minder situaties alsOp dinsdag 19 maart 2002 01:44 schreef OiSyN het volgende:
maak daar maar van rand () / ((float)RAND_MAX + 1.f)
je wilt namelijk een waarde van 0 <= rnd < 1, en niet 0 <= rnd <= 1
Want stel je wilt een dobbelsteen simuleren. Daarvoor doe je floor (frand () * 6 + 1) (waarbij frand () je float random functie is)
als frand () 1 kan worden, dan is er een kans (van 1 / RAND_MAX) dat het 7 wordt, en dat moet natuurlijk niet
oh btw, casten naar float doe je dus door er (float) voor te zetten, en dus niet zoals jij deed: float (waarde)
(T)u, maar als het allebei werkt betekent het hetzelfde.
En voor T==float of een ander builtin type is het altijd hetzelfde.
Evengoed cast je natuurlijk met static_cast<> en familie.
Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein
ah ok dat wist ik niet
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Pagina: 1