Diskuze: Reštart funkcie
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Nejsem si jistý, protože s v C/C++ nevyznám, ale nestačilo by odebrat
srand (time(NULL));
?
srand (time(NULL));
Musi byt iba raz a to v main().
http://www.itnetwork.cz/…ahodna-cisla
/* Hod N-stenou kostkou */
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h> // printf()
#include <stdlib.h> // rand(), srand()
#include <time.h> // time()
#define Nhod 200 // pocet hodu
int hodKostkou(int nstran);
int main(int argc, char *argv[]){
int i;
srand((unsigned int)time(NULL));
printf("Hod N-stenou kostkou\n\n");
for (i = 0; i < Nhod; i++) printf("%d. hod: %d\n", i + 1, hodKostkou(6));
return 0;
}
int hodKostkou(int nstran){
return ((rand() % nstran) + 1);
}
Funkce time() vrací typ time_t což je unsigned int. Z tohoto důvodu je třeba provést ve funkci srand()přetypování pro převzetí správného typu argumentu. Pokud funkce nemá parametry, zadává se typ void. Nahrazujeme tím starý způsob deklarace. Ve funkci kocka() je zbytečné deklarovat proměnnou. Výsledek náhodného čísla v rozsahu 1-N lze přiřadit přímo do příkazu vracejícího hodnotu funkce return. Viz. kód
Zobrazeno 4 zpráv z 4.