Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Generisanje slucajnog broja od 1 do 39...

[es] :: C/C++ programiranje :: Generisanje slucajnog broja od 1 do 39...

[ Pregleda: 8129 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vbvlada
Petrović Vladimir
Beograd

Član broj: 59233
Poruke: 209
195.252.89.*



Profil

icon Generisanje slucajnog broja od 1 do 39...21.02.2006. u 22:34 - pre 220 meseci
Hocu da napravim neki smesan program za LOTO,pa zelim da genesrisem slucajni broj od 1 do 39,evo mog nacina ,ali mislim da ce to biti problem za kompjuter jer RAND_MAX ide do 32000,pa ce mu mozda trebati mnogo vremena....

funkcija je:

int rand39*(){
int broj;

while(true){ broj=rand();
if (broj!=0&&broj<=39)return broj;
}
}



Nisam cak ni siguran da ce ovo da odradi posao,ali ako neko zna bolje resenje ,neka odgovori....
Hvala unapred......

A vi,kako 'te?
 
Odgovor na temu

NastyBoy
Bojan Nastic
UK

Član broj: 12041
Poruke: 895
*.plus.com.



+4 Profil

icon Re: Generisanje slucajnog broja od 1 do 39...22.02.2006. u 00:37 - pre 220 meseci
rand() % 39

bi trebalo da reshi probleme
 
Odgovor na temu

dragansm
Dragan Smiljanic

Član broj: 38170
Poruke: 191
212.200.124.*



Profil

icon Re: Generisanje slucajnog broja od 1 do 39...22.02.2006. u 00:53 - pre 220 meseci
Pokusaj sa

int Loto39()
{
return 1 + ( rand() % 39);
}

Citat:
NastyBoy: rand() % 39

bi trebalo da reshi probleme

Nisam siguran da je vbvlada nasao vezu izmedju % i mod posto mi deluje kao vb programer, bar sudeci po imenu koje koristi. Pozdrav
 
Odgovor na temu

zokio
Balkan

Član broj: 27826
Poruke: 43
*.scst.hr.

Sajt: student.oss.unist.hr/~zs9..


Profil

icon Re: Generisanje slucajnog broja od 1 do 39...22.02.2006. u 01:56 - pre 220 meseci
Ovako nemoj da pises "1 + ( rand() % 39);"
Imao sam slican zadatak na vjezbama i profesor mi nije htio priznati zadatak jer kako on kaze "neki slucajan broj +1 vise nije slucajan tj, random broj",
** mada bi se o tome dalo raspraviti **

pa ako ces mene da poslusas bolje to samo promijeni na ovako;

Code:

int lotornd(void)
{
return(rand()%40);
}


vracat ce ti brojeve od 0-39 bez "plus 1" e to bi sada valjda bio slucajan broj !
Poslije spavanja treba odmorit ! ! !
 
Odgovor na temu

vbvlada
Petrović Vladimir
Beograd

Član broj: 59233
Poruke: 209
195.252.89.*



Profil

icon Re: Generisanje slucajnog broja od 1 do 39...22.02.2006. u 09:07 - pre 220 meseci
OK,probao sam return(rand()%40),kao i onaj moj nacin,uopste nije spor,ne oseti se,ali sada imam drugi problem:pri svakom pozivanju programa,on mi vraca isti niz tih "slucajnih" brojeva!!!
Evo napravio sam mali program za testiranje pa probajte kod vas...
Napravite par nizova,pa izadjite iz programa,pa opet pokrenite i uvek se dobije niz 28,28,21,6......(na pocetku samo unesite broj veci od nule,a za izlazak broj<=0)

#include<iostream>
using namespace std;
void main(){
int opet;
while(true){
cin>>opet;
if(opet<=0)break;
int broj;
for(int i=0;i<10;i++)
while(true){
broj=rand();
if(broj!=0&&broj<=39){cout<<broj<<' ';break;}

}

}
cout<<'\n';
}

A vi,kako 'te?
 
Odgovor na temu

mligor

Član broj: 11999
Poruke: 37
*.de.



+5 Profil

icon Re: Generisanje slucajnog broja od 1 do 39...22.02.2006. u 09:27 - pre 220 meseci
samo dodaj pre svega toga

srand (time(NULL));
 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
*.ubisoft.com.cn.

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: Generisanje slucajnog broja od 1 do 39...22.02.2006. u 09:39 - pre 220 meseci
@Zokio
Profesora bi trebalo da promenis...
 
Odgovor na temu

vbvlada
Petrović Vladimir
Beograd

Član broj: 59233
Poruke: 209
195.252.89.*



Profil

icon Re: Generisanje slucajnog broja od 1 do 39...22.02.2006. u 09:50 - pre 220 meseci
srand (time(NULL));_____koliko sam shvatio,tako cu ,kako se vreme menja,uvek imati drugaciju pocetnu vrednost,pa ce brojevi biti drugaciji...
Ali mene cudi kako je funkcija rand() tako cudno odradjena,pa bolje bi bilo da ja sam napravim neku moju funkciju u kojoj bih stavio brdo mnozenja,deljenja,itd ,pa sta ispadne, i eto to je kao slucajni broj...
A vi,kako 'te?
 
Odgovor na temu

Časlav Ilić
Braunšvajg, Nemačka

Član broj: 4945
Poruke: 565
*.lstm.uni-erlangen.de.



+27 Profil

icon Re: Generisanje slucajnog broja od 1 do 39...22.02.2006. u 11:01 - pre 220 meseci
http://www.elitesecurity.org/tema/96083
 
Odgovor na temu

dragansm
Dragan Smiljanic

Član broj: 38170
Poruke: 191
*.tehnicom.net.



Profil

icon Re: Generisanje slucajnog broja od 1 do 39...22.02.2006. u 15:26 - pre 220 meseci
Citat:
vbvlada: srand (time(NULL));_____koliko sam shvatio,tako cu ,kako se vreme menja,uvek imati drugaciju pocetnu vrednost,pa ce brojevi biti drugaciji...
Ali mene cudi kako je funkcija rand() tako cudno odradjena,pa bolje bi bilo da ja sam napravim neku moju funkciju u kojoj bih stavio brdo mnozenja,deljenja,itd ,pa sta ispadne, i eto to je kao slucajni broj...


Pre nego sto se upustis u takvu avanturu ne bi bilo lose da pogledas knjigu
Donalda Knutha -- The Art of Computer Programming -- mislim da je u drugom delu cela teorija o tome kako rand radi. Nije pitanje da li je sekvenca uvek ista ili ne nego da li funkcija ima dobru (citaj: uniformnu) raspodelu, a vec si video kako ces da promenis sekvencu.

 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: Generisanje slucajnog broja od 1 do 39...22.02.2006. u 17:32 - pre 220 meseci
Citat:
tosa: @Zokio
Profesora bi trebalo da promenis...

Da. Isto kao da kaze profesor iz matematike da 1 + "beskonacno" nije vise beskonacno!?!

Koristi rand() , ne vidim sto ti je konfuzno tu?
 
Odgovor na temu

vbvlada
Petrović Vladimir
Beograd

Član broj: 59233
Poruke: 209
195.252.89.*



Profil

icon Re: Generisanje slucajnog broja od 1 do 39...22.02.2006. u 19:10 - pre 220 meseci
Wow,nisam znao da iza ovog problema stoji tolika nauka(pogledao sam link za onu drugu temu),ok,pogledacu tu knjigu,ali neka bude da sam resio ovaj problem sa RAND() i jos nekim modifikacijama...
Pa i moj profesor dodaje 1,a ja mislim da to moze da se tretira kao slucajan broj jer je ipak ?+1=?

A vi,kako 'te?
 
Odgovor na temu

zokio
Balkan

Član broj: 27826
Poruke: 43
*.scst.hr.

Sajt: student.oss.unist.hr/~zs9..


Profil

icon Re: Generisanje slucajnog broja od 1 do 39...23.02.2006. u 01:42 - pre 220 meseci
Citat:
NrmMyth: Da. Isto kao da kaze profesor iz matematike da 1 + "beskonacno" nije vise beskonacno!?!

Koristi rand() , ne vidim sto ti je konfuzno tu?


Ma moji momci i 'sam sam napisao da bi se o tome dalo diskutirati, znaci ne podrzavam ja njega u toj izjavi mada se ispricavam, to nije rekao bas sam profesor nego asistent koji drzi vjezbe i pismeni, ali u svakom slucaju ste u pravu i ja drzim da je 'slucjano'+1 opet nesto slucajno, ali nevidim razloga da se ne stavi broj vise i opet problem rijesen bez zbrajanja, pa sigurno nigdje u zadatku nepise "zabranjeno dijeljenje po modulu sa brojem iznad 39"

eto, no fear
Poslije spavanja treba odmorit ! ! !
 
Odgovor na temu

rumpl

Član broj: 54959
Poruke: 156
*.net81-66-198.noos.fr.



Profil

icon Re: Generisanje slucajnog broja od 1 do 39...23.02.2006. u 09:57 - pre 220 meseci
Evo sta kaze man rand-a:
Citat:
In Numerical Recipes in C: The Art of Scientific Computing (William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling; New York: Cambridge University
Press, 1992 (2nd ed., p. 277)), the following comments are made:
"If you want to generate a random integer between 1 and 10, you should always do it by using high-order bits, as in

j = 1 + (int) (10.0 * (rand() / (RAND_MAX + 1.0)));

and never by anything resembling

j = 1 + (rand() % 10);

(which uses lower-order bits)."


I da, rand je cudna funkcija, zove se rand, ali to je u stvari samo pseudo-random generator, koji koristi razne variable iz tvog sistema da bi ti dao jedan lep random broj.

Ako ti nije dovoljno "random", pokusaj sta si rekao, stavi puno deljenja i mnozenja, pa mi reci kad si uspeo da napravis neku random funkciju. Cela jedna grana matematike se bavi time, a ti hoces da sklopis nesto nabrzaka...

[Ovu poruku je menjao rumpl dana 23.02.2006. u 11:04 GMT+1]
"The problem with the world is that everyone is a few drinks behind."
-Humphrey Bogart
 
Odgovor na temu

mladen3006

Član broj: 122566
Poruke: 4
*.wireless.org.yu.



Profil

icon Re: Generisanje slucajnog broja od 1 do 39...10.12.2006. u 08:57 - pre 210 meseci
srand (time(NULL)); mislim da je to najtacnije sto se tice tog random broja... pocinje sa drugim i zavrsava se sa drugim... i tako stalno...
 
Odgovor na temu

Tiristor
Skola/obrazovanje

Član broj: 102849
Poruke: 184
*.beobug.com.



Profil

icon Re: Generisanje slucajnog broja od 1 do 39...10.12.2006. u 20:31 - pre 210 meseci
evo tek sada sam video ovu temu. Ja sam radio takav program prosle godine. Evo njegov kod:

Code:

#include <stdio.h>
#include <stdlib.h>
main ()
{
int a[7],i,j,n,c;
for ( ; ; )
 {
 printf ("\n Unesite broj kombinacija: ");
 scanf ("%d",&n);
 if (n<=0)
  {
  printf ("\nUneli ste pogresan broj!");
  break;
  }
 for (i=1;i<=n;i++)
  {
  printf ("\n\n%d. kombinacija je: ",i);
   for (j=0;j<7;j++)
    a[j]=rand()/((double)RAND_MAX+1)*40;
    for (j=0;j<=6;j++)
     {
     for (c=j+1;c<7;c++)
      if (a[j]==a[c] || a[j]==0)
       {
       a[j]=rand ()/((double)RAND_MAX+1)*40;
       c--;
       continue;
       }
      printf (" %d",a[j]);
      }
    }
   }
  }
 
Odgovor na temu

Deyan_80
Kragujevac

Član broj: 117038
Poruke: 31
*.uis.kg.ac.yu.



Profil

icon Re: Generisanje slucajnog broja od 1 do 39...14.12.2006. u 12:15 - pre 210 meseci
Kao sto je pre mene neko napisao ovo bi trebalo da daje uvek razlicite brojeve
posto f-ja gleda sistemsko vreme sa tacnoscu u stotinkama a mozda i manje (takt procesora)
tako da je tesko da ti se pogodi isti slucajan broj

srand (time(NULL));

Pa sta mislite kako pri registraciji Windows uvek izbaci drugi broj. Naravno ko jos registruje WIN u ovoj predivnoj drzavi.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Generisanje slucajnog broja od 1 do 39...

[ Pregleda: 8129 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.