[ mladenvasic @ 25.10.2005. 09:06 ] @
| Kako da randomizujem brojeve npr. od 1 do 10 a da mi se oni ne ponavljaju.
Imam jedan primjer ali mi se brojevi ponavljaju:
Code: #include "stdafx.h"
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
int rolls=4;
srand((unsigned int)time((time_t *)NULL));
while(rolls--)
{
printf(" %d\n", (rand()%6)+1);
}
return 0;
}
rezuktat:
npr.
4
4
3
2 |
[ Tronic @ 25.10.2005. 09:14 ] @
Dobivene brojeve spremaj u polje, a kasnije dobiveni broj pogledaj ako ga imaš u polju ispisanih. ako imaš, traži dalje, ako nemaš, koristiš
[ mladenvasic @ 25.10.2005. 09:27 ] @
koliko sam ja shvatio iz toga ispada da cu imati manjak brojeva.
Tj.
Brojevi od 0 do 10
5
8
5 <- petica se ponavlja i nju izbacujem
6
9
1
4
3
2
10
kada peticu izbacim ostane mi 9 brojeva a meni treba 10
Mozda grijesim !!!
[ cubicle @ 25.10.2005. 10:27 ] @
Gresis... Proveru na duplikat u polju vrsis pre upisa u polje, a ne nakon sto si sve vrednosti vec upisao.
Znaci, generises broj, proveris da li postoji u polju, ako ne postoji upises ga, ako postoji generises novi...
[ yooyo @ 25.10.2005. 11:49 ] @
poredjas svih 10 brojeva u niz i zatim neparan broj puta izaberi 2 razlicita indexa i zameni mesta u nizu. Na ovaj nacin ces dobiti svih 10 brojeva u nizu prilicno random rasporedjene.
yooyo
[ mladenvasic @ 26.10.2005. 07:36 ] @
Hvala uspjeo sam ...
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.