Slumptal
Perfekta slumptal är oerhört besvärliga att få fram, men C++ rymmer möjlighet att generera hyfsade slumptal. Talen som vi får fram är inte helt slumpmässiga, så därför man brukar kalla det för pseudoslump (skenbart slumpmässiga). De små brister som finns i slumptalsgenereringen kan vi bortse från i de program vi skapar.

För att generera slumptal så måste man inkludera <cstdlib>. Vi kan då använda funktionen rand för att få slumptal. Vi prövar nu detta i ett litet program.

Exempel på användning av rand

#include <iostream>
#include <cstdlib> //Behövs för slumptal

using namespace std;

int main()
{
cout<<"Programmet har slumpat fram 5 värden "<<endl;
int i;
for(i=0;i<5;i++)
{
cout<<rand()<<" ";
}
cout<<endl;
return 0;
}
Nedan ser du ett exempel på resultatet av ovanstående kod.

Programmet har slumpat fram 5 värden
41 18467 6334 26500 19169

Exakt vilka siffror man får fram skiftar mellan olika utvecklingsverktyg. Den bristande slumpmässigheten visar sig i att vi får samma fem siffror om vi startar om programmet. Detta kan vi komma ifrån genom att använda funktionensrand. Denna funktion ger oss möjlighet att ge ett startvärde som används för slumptalsgenereringen. Problemet är då att vi måste ge olika värden varje gång programmet körs för att få olika slumptalsgenereringar. Hur skriver man då koden så att man garanterat vet att värdet skiljer sig mellan olika programkörningar? Jo, man använder datorns klocka! Tiden tickar på, så den är perfekt att använda i denna fall. Du skriver då... .