Rand (jazyk C)

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
Rozdelenie funkcií jazyka C podľa knižníc, v ktorých sú definované
<ctype.h> <limits.h> <stdio.h> <stdlib.h> <math.h> <string.h> <time.h>

isalnum
isalpha
isdigit
isgraph
islower
isprint
ispunct
isspace
isupper
isxdigit

printf
scanf
getc
putc
getchar
putchar
fprintf
fscanf
fgetc
fputc
fopen
fclose
feof

system
malloc
qsort
rand
srand
atoi
atol
atof
itoa
div
abs
labs

pow
fabs
exp
log
log10
sqrt
ceil
sin
cos

strlen
strcmp
strchr
strcpy
strstr
strcat
strncat

clock
time

Funkcia rand

knižnica

stdlib.h

popis

Vygeneruje náhodné číslo.


Úplný funkčný prototyp:

  int rand (void);

Podrobný popis funkcie

Funkcia rand sa používa v jazyku C na generovanie náhodných čísel. Ak vygenerujeme sekvenciu náhodných čísel pomocou funkcie rand, tak vytvorí rovnakú sekvenciu znova a znova pri každom spustení programu. Povedzme, že ak generujeme 5 náhodných čísel v C pomocou cyklu rand v cykle, potom vždy, keď kompilujeme a spustíme program, náš výstup musí byť rovnakou sekvenciou čísel. Riešením je použiť funkciu srand, ktorá zmení seed generátoru.

Návratová hodnota

Funkcia vráti celé číslo v rozmedzí 0 až RAND_MAX.[1]

Príklad

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <time.h>
 4 
 5 int random(int min, int max) {
 6 	return (rand() % (max - min + 1)) + min;
 7 }
 8 
 9 int main() {
10 	time_t t;
11         int n = 5;                             //počet vypísaných čísel
12 
13         srand((unsigned)time(&t));             //inicializuje generátor náhodných čísel podľa času
14 
15 	for (int i = 0; i < n; i++) {
16                 printf("%d\n", random(1,50));  //vypíše náhodné číslo od 1 po 50
17 	}
18 
19 	return 0;
20 }

Výstup (môže sa líšiť):

7
33
31
30
43

Referencie