srand v c++
/*Napišite igrico, s katero ugotavljate naključno število, ki si ga izmisli računalnik. Vhodna
podatka sta spodnja in zgornja meja intervala, iz katerega je naključno število. Za izbiranje
naključnega števila uporabite funkciji rand() in srand() iz sistemske knjižnice. Program naj
omogoči ponavljanje igrice.*/
#include
#include “stdlib.h”
int main()
{
int Zmeja;
int Smeja;
int ugani;
do
{
cout > Smeja;
cout > Zmeja;
cout
srand uporabiš za to, da nastaviš naključen začetek naključnih števil.
Tipično daš nekam na začetku programa vrstico:
srand((unsigned)time(NULL));
rand() vrne število med 0 in 32767. Potrebno naključno število potem dobiš takole:
(rand() % interval) + začetek
interval in začetek pa zdaj sama določi iz Zmeja in Smeja 😉
Eto, kako sem lepo rešila :))
Hvala za pomoč, Zvedavec!
/*Napišite igrico, s katero ugotavljate naključno število, ki si ga izmisli računalnik. Vhodna
podatka sta spodnja in zgornja meja intervala, iz katerega je naključno število. Za izbiranje
naključnega števila uporabite funkciji rand() in srand() iz sistemske knjižnice. Program naj
omogoči ponavljanje igrice.*/
#include
#include “stdlib.h”
#include “time.h”
int main()
{
srand(time(NULL)); // inicializacija
int Zmeja;
int Smeja;
do
{
cout > Smeja;
cout > Zmeja;
cout > iscem;
if (ugibaj > iscem)
cout
Ja, sej – če boš iskal, boš ugotovil tudi, da računalnik sploh ne trzne, če ugibaš izven meje (npr. postaviš mejo od 2 – 10 in pri ugibanju vneseš 12; računalnik ne bo rekel, da je to ven iz meje, ampak bo preprosto napisal, da je njegovo stevilo manjše).
Nihče ni popoln.
Moj program pa sploh ne :(((
Če smo čisto pikolovski, bi jaz naredil kar zanko brez pogoja in potem dodal break, ko nekdo ugane. To bi prihranilo nekaj procesorskih ciklov na vsako ugibanje. Še večji prihranek pa dosežeš, če na večjem vzorcu ugotoviš, ali je bolj verjetno, da ljudje napišejo preveliko ali premajhno število in potem glede na to postaviš vrstni red stavkov if. 🙂
Forum je zaprt za komentiranje.