Pokusavam da mi program generise 14 brojeva od 1 do 14..
E sad dva broja jedan do drugog ne smiju biti ista.
ovo je okej niz:
5 6 8 12 4 8 7 1 3 13 5 14 3 5 (jedan broj moze da se ponovi vise puta)
ovaj niz ne valja:
4 8 7 2 6 1 [12 12] 7 5 4 6 14 13 (te dvije 12-ice ne smiju da budu jedna do druge)
e sad ja generisem radnom brojeve
for(i=0; i<14; i++)
{
srand(time(NULL));
x=rand()%14+1;
printf("%d ", x);
}
Ne znam kako da generisem brojeve a da susedni brojevi ne budu isti... ? probao sam da stavim sleep(1) ali opet se desava, ali ne tako cesto.
Od 1000 generisanih brojeva, u svih 1000 dva susedna broja ne smiju biti ista.
Nadam se da shvatate sta mislim.
EDID: Uspio sam da resim problem. Moderator moze slobodno da izbrisetemu, a moze i da je ostavi, ako slucajno neko drugi zapne pa da moze da pogleda.
srand(time(NULL));
for(i=0; i<14; i++)
{
sleep(1);
x=rand()%14+1;
broj[i]=x;
if(broj[i-1] == x) ako je prethodni broj (broj[i-1]) jednak novom generisanom broju x tada:
{
x = x - 2;
if(x == 0) x = x+3; // Nekad ce se dobiti 0 ako se nadju dvije dvojke jedna do druge, brojevi treba da budu u intervalu [1, 14]
if(x == -1) x = x+6; // Nekad ce se dobiti -1 ako se nadju dvije jedinice jedna do druge, interval brojeva mora da bude[1, 14]
broj[i]=x;
}
printf("%d ", broj[i]);
}
|