Srand (jazyk C): Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
 
Riadok 41: Riadok 41:
 
</source>
 
</source>
  
Výstup (môže sa líšiť):
+
''Výstup (môže sa líšiť):''
 
  7
 
  7
 
  33
 
  33

Aktuálna revízia z 23:20, 19. máj 2020

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 srand

knižnica

stdlib.h

popis

Nastaví seed generátoru pseudonáhodných čísel.


Úplný funkčný prototyp:

  void srand(unsigned int seed)

Podrobný popis funkcie

Inicializuje generátor pseudonáhodných čísel, ktorý využíva funkcia rand. Inicializácia spočíva v nastavení parametru seed, teda počiatočnej iniciačnej hodnoty. Zvyčajne sa ako seed používa systémový čas, pretože nikdy nie je rovnaký.

Parametre

seed
Celé číslo, ktoré sa má použiť ako seed generátoru pseudonáhodných čísel.


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     srand((unsigned)time(&t));        //inicializuje generátor náhodných čísel podľa času
13     
14     for (int i = 0; i < n; i++) {
15        printf("%d\n", random(1,50));  //vypíše náhodné číslo od 1 po 50
16     }
17     return 0;
18 }

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

7
33
31
30
43

Referencie