Gå til innhold

Generere et random tall fra -5 til 5


Anbefalte innlegg

Heisann! Har et enkelt spm. Hvordan kan jeg på en enkel måte generere et tall fra -5 til 5. Et eksempel på og løse det hadde vært fint.

 

Kan vel kanskje løse det ved hjelp av rand() og srand(), men mener jeg har lest at det ikke er anbefalt?

Endret av Kjeksen
Lenke til kommentar
Videoannonse
Annonse

Har klart og lage et random tall ved hjelp av denne koden. Men dette lager et tall fra 0 til 99. Jeg trenger og sette fra -5 til 5. :hmm:

 

#include <cstdlib>
#include <ctime>
#include <iostream>

using namespace std;

int main() {

   int j;
   const int N = 100;

   srand( (unsigned)time( NULL ) );

   for (int i = 0; i < 5; i++) {
       j = (int) N * rand() / (RAND_MAX + 1.0);
       cout << j << endl;
   }

   return 0;
}

Endret av Kjeksen
Lenke til kommentar

Eksempel (utestet, errors may occure :) ):

 


#include <cstdlib>     // random funksjoner
#include <ctime>      // time - for seeding
#include <iostream> // output

using namespace std;

int main()
{

  srand( (unsigned)time( NULL ) );  // seed
  cout << ((rand()%11) - 5);         // % 11 genererer --> 0 - 10, offset med 5

}

Lenke til kommentar

rand og srand er ikke anbefalt for seriøs bruk, ettersom de er basert på dårlige algoritmer. For lek er de helt greie.

 

For mer seriøs bruk, bruk

drand48,  erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, lcong48 - generate uniformly distributed pseudo-random numbers

Godt nok til det meste, botsett fra sikker kryptering.

Lenke til kommentar
rand og srand er ikke anbefalt for seriøs bruk, ettersom de er basert på dårlige algoritmer. For lek er de helt greie.

 

For mer seriøs bruk, bruk

drand48,  erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, lcong48 - generate uniformly distributed pseudo-random numbers

Godt nok til det meste, botsett fra sikker kryptering.

okai. Det jeg lager nå er ikke akkurat seriøse greier, så srand() og rand() får holde for nå ;)

Lenke til kommentar
Hmm, hvordan blir det modulus visst jeg bare skal ha ifra -3 til 3 da? Modulus var jaggu rare greier :p

Er ikke så veldig rart :p

 

Det er "resten" i en divisjon.

 

eks:

 

1%2 = 1 (1:2 gir et resultat på 0, men en rest på 1)

122%10 = 2 (da 122:10 gir 12 (hele) med en rest på 2)

Endret av Manfred
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...