---
title: "rand()"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/62315-rand"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "Jymdis"
published: "2002-12-16T09:35:51.000Z"
updated: "2002-12-17T06:27:55.000Z"
replies: 4
views: 193
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/62315-rand"
---

# rand()

## #1 — Jymdis, 2002-12-16T09:35Z

Hej!

Använder rand() funktionen litegrann men får inte de tal jag förväntar å eftersom jag arbetar mot quake 3 källkoden så kan jag varken köra ut det nånstans så jag ser vad jag får för resultat eller köra det i debugern å få ut värdet där. 

Koden är:

```
m_Random = rand()%2+1;
```

och det jag vill ha är 1 eller 2. 
0 eller 1 hade också fungerat jag vill helt enkelt bara alternera mellan två nummer. Fast i fortsättningen ska det kunna gå att öka det ganska lätt. 

Några förslag?

mvh
Jymdis

Permalänk: https://www.webforum.nu/p/62315

## #2 — Nexus86, 2002-12-16T10:57Z

Nu är jag nybörjare på C/C++ men kan en del om andra programmeringsspråk och ska det inte stå

```
m_Random = rand()*2;
```

? Eller om jag inte har alldeles fel

```
m_Random = round(rand()*2);
```

? Tror tillochmed att man kan använda

```
m_Random = rand(1,2);
```

Permalänk: https://www.webforum.nu/p/886606

## #3 — Dipp, 2002-12-16T11:21Z

Du kan basera slumningen av tal på tiden genom att använda dig av:

srand(time(0));

och sedan skriva:

m_Random = (rand()%2+1);

include-filerna som behövs är följande:

\#include \<cstdlib\>
\#include \<ctime\>

Lycka till!

Permalänk: https://www.webforum.nu/p/886637

## #4 — Jymdis, 2002-12-16T17:18Z

srand fungerar inte i quake3 källkoden. 
har dock fått det att fungera bara genom att öka %2 till %3 (vilket och passar i hur många alternativ jag ville ha)
tack för hjälpen

Permalänk: https://www.webforum.nu/p/886863

## #5 — matricks, 2002-12-17T06:27Z

% = modelus, resten ifrån en /
tex:
1%3 = 1 (1/3 = 0 och 1 i rest)
2%3 = 2 (2/3 = 0 och 2 i rest)
3%3 = 0 (3/3 = 1 och 0 i rest)
4%3 = 1 (4/3 = 1 och 1 i rest)

Bra sätt att begränsa så att något inte stiger upp och blir för högt.

Permalänk: https://www.webforum.nu/p/887158

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/62315-rand
