C++ Írtam egy saját függvényt. Bővebben lent a függvény. Ha ezt egy programban használom (bővebben a saját függvény alatt), akkor mindig ugyan azta random számot generálja, pedig bennevan a srand (time (NULL) ) ; Mi a baja?
Figyelt kérdés
//RYU.H tartalma:
//---------------
#include <stdlib.h>
#include <time.h>
// Random szám
int random(int mettol, int meddig){
srand(time(NULL));
int v=0;
v=rand()%(meddig-mettol+1)+mettol;
return v;
}
//Az program (teszt1.cpp)
#include <ryu.h>
#include <stdio.h.h>
int main(){
int t[10];
int i;
srand(time(NULL));
for(i=0;i<10;i++){
t[i]=random(1,10);
printf("%d\n",t[i]);
}
getchar();
return 0;
}
2010. dec. 18. 15:15
1/6 anonim válasza:
Nem vagyok biztos benne, hogy ez okozza, de az srand függvényt nem kell 11-szer meghívni, egyszer bőven elég, csak legyen az első rand előtt.
Én a helyedben átnézném azt a maradékos osztást is. Nem mondom, hogy hibás, mert nem számoltam utána, csak az ilyesmi mindig necces.
2/6 A kérdező kommentje:
ha az a baja h 11x van srand és télleg mer látom h ciklusbavan akk az jólenne mindjárt megnézem
2010. dec. 18. 15:41
3/6 A kérdező kommentje:
azvolt a baja :) köszi
2010. dec. 18. 15:43
4/6 anonim válasza:
Alapvetően nem baj, ha többször hívod, minden srand() újrakezdi a sorozatát a random számoknak. De ha a time(0) mindig ugyanazt adja be neki, mert mondjuk olyan gyorsan történik, hogy nem telik el mérhető idő, akkor biza ugyanazt a sorozatot indítja el mindig, és mindig az első elemét kapod meg.
5/6 A kérdező kommentje:
szóval delay kell bele és többször meghívható?
2010. dec. 19. 09:06
6/6 anonim válasza:
a srandot az egész program futása során összesen egyszer kell meghívnod többször felesleges és lehet h szar is
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!