| www.delorie.com/archives/browse.cgi | search |
| From: | "Rafał Maj" <r_maj AT poczta DOT onet DOT pl> |
| Newsgroups: | comp.os.msdos.djgpp |
| Subject: | Re: Random numbers |
| Date: | Thu, 17 Aug 2000 17:10:05 +0200 |
| Organization: | Academic Computer Center CYFRONET AGH |
| Lines: | 31 |
| Message-ID: | <8ngvdi$5n1$1@info.cyf-kr.edu.pl> |
| References: | <8ngtjq$cn1$1 AT news DOT clinet DOT fi> |
| NNTP-Posting-Host: | d-94-53-08.cyfronet.krakow.pl |
| X-Trace: | info.cyf-kr.edu.pl 966525170 5857 149.156.1.168 (17 Aug 2000 15:12:50 GMT) |
| X-Complaints-To: | news AT cyf-kr DOT edu DOT pl |
| NNTP-Posting-Date: | 17 Aug 2000 15:12:50 GMT |
| X-Priority: | 3 |
| X-MSMail-Priority: | Normal |
| X-Newsreader: | Microsoft Outlook Express 5.00.2615.200 |
| X-MimeOLE: | Produced By Microsoft MimeOLE V5.00.2615.200 |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
| Reply-To: | djgpp AT delorie DOT com |
User <dots AT hotmail DOT comPOF> wrote
> How can i make a function
> that gives a random number in different ranges?
> Eg. Rand(Min,Max)
> would give a random number between Min and Max.
If You want only to have only integer numbers :
int rnd(int min, int max) { return (random() % (max-min+1)) + min; }
If You alsow want use float, then ther is whole program :
#include <iostream.h>
#include <stdlib.h>
#include <math.h>
float rnd_one() { return (random()%10001)/10000.0; } // helper function
float rnd_float(float min, float max) {
float f = (rnd_one()/10000.0 + rnd_one() + rnd_one()*10000);
return fmod(f,max-min) + min;
}
main() {
cerr<<"Integer : "<<endl;
for (int i=0; i<25; i++) cerr << rnd(5,10) << endl;
cerr<<"\n\nFloat : "<<endl;
for (int i=0; i<100; i++) cerr << rnd_float(1.50, 1.60) << endl;
}
Rafal
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |