Nahodne cislo – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Nahodne cislo – C / C++ – Fórum – Programujte.comNahodne cislo – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Zelenáč0
Posthunter
31. 12. 2007   #1
-
0
-

Neznate nekdo nejaky pekny algoritmus na generovani nahodnych cisel?

Nahlásit jako SPAM
IP: 89.176.254.–
Reklama
Reklama
_k_
Duch
31. 12. 2007   #2
-
0
-

Na generovanie skutocne nahodnych cisel imo algoritmus neexistuje. Pre pseudonahodne je jeden popisany na wiki
http://en.wikipedia.org/wiki/Linear_congruential_generator
A ked chces _skutocne_ nahodne cisla tak pouzi /dev/random ak si pod linuxom, problem je, ze ten subor sa rychlo minie ;). Pouziva to udaje z prakticky nahodnych zdrojov - pohyby mysi, pid procesov a pod.

Nahlásit jako SPAM
IP: 195.91.54.–
Zelenáč0
Posthunter
31. 12. 2007   #3
-
0
-

To _k_ : Jj, samozrejme pseudonahodnych ;-) S tim pohybem mysi si me ale privedl na napad, ze bych mohl merit casove intervaly mezi stisky klaves na klavesnici...

Nahlásit jako SPAM
IP: 89.176.254.–
_k_
Duch
31. 12. 2007   #4
-
0
-

To Zelenáč : jj, s tymi stiskmi je to dobry napad... problem je ze ak nebude user chvilu nic pisat tak sa ti cisla minu (to je problem aj /dev/random) ;)

Nahlásit jako SPAM
IP: 195.91.54.–
yaqwsx+9
Posthunter
31. 12. 2007   #5
-
0
-

Nebo by jsi mohl merit pocet odeslanych bitu na ucity port(napr USB), internet.....

Nahlásit jako SPAM
IP: 85.160.92.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Zelenáč0
Posthunter
31. 12. 2007   #6
-
0
-

To yaqwsx : To bohuzel nejde..
Tedy abych trosicku upresnil problem: pisu Tetris a tam samozrejme potrebuju generovat jak nahodne obrazce, tak nahodnou "startovni pozici". Aby to ale nebylo tak jednoduche, ten Tetris beha pod vlastnim OS, takze nemuzu pouzit systemove knihovny, jak navrhoval Erik, dokud si je nenapisu. U Tetrisu by ale nemel byt problem s tim, ze by uzivatel ne"psal", pac v tom pripade by pravdepodobne prohral, ze... Eventualne bych to nejak mohl smixovat s casem (ktery se mi ale zatim nepodarilo z BIOSu vytahnout)..

Nahlásit jako SPAM
IP: 89.176.254.–
_k_
Duch
1. 1. 2008   #7
-
0
-

To Zelenáč : Vlastny OS ? Az to bude hotove mohol by sem niekde hodit toho zdrojaky pls ? Lebo kedysi som sa tiez pokusal o vlastny kernel (aj ked to nedopadlo bohvieako ;) ). By si mi s tym spravil velku radost ;)

Nahlásit jako SPAM
IP: 195.91.54.–
Zelenáč0
Posthunter
1. 1. 2008   #8
-
0
-

To _k_ : Jj jasne :-) Dalo mi to taky celkem zabrat (assembleru zrovna neholduju), nez se mi podarilo vytvorit nejaky funkcni kod...

Nahlásit jako SPAM
IP: 89.176.254.–
mr.Crow0
Newbie
1. 1. 2008   #9
-
0
-

pokud chceš zdrojáky jednoduchýho OS, doporučuju FritzOS ;-)

Nahlásit jako SPAM
IP: 213.211.34.–
_k_
Duch
1. 1. 2008   #10
-
0
-

To Zelenáč : Uz sa tesim ;)
To mr.Crow : JJ, ten poznam... Mam z neho opisany "driver" klavesnice ;) Ale na moj vkus ma zbytocne vela veci napisnych v asm a navyse pouziva vlastny bootloader... ved naco mame grub ? ;)

Nahlásit jako SPAM
IP: 195.91.54.–
Zelenáč0
Posthunter
1. 1. 2008   #11
-
0
-
Nahlásit jako SPAM
IP: 89.176.254.–
_k_
Duch
1. 1. 2008   #12
-
0
-

jj, aj ja som to robil podla toho na osdever.net ;) Ale bootujem s grubom, ten asm bootovaci fetisizmus ma akosi nebral ;)

Nahlásit jako SPAM
IP: 195.91.54.–
Zelenáč0
Posthunter
1. 1. 2008   #13
-
0
-

Problem je, ze ja potrebuju prepnout do grafickeho modu a zatim jsem neprisel, jak to udelat v protected mode... Proto mam vlastni bootsector.

Nahlásit jako SPAM
IP: 89.176.254.–
Zelenáč0
Posthunter
2. 1. 2008   #14
-
0
-

Mno, tak nakonec z toho vylez Snake a nikoli Tetris :-)
Trosicku blbne ovladani - kdyz jsem se to ale pokousel opravit, zacalo mi ld zniceho nic hlasit segmentation fault :-(
Screeny: :smile4:
Bootovani:


Hra:


A archiv se zdrojakama a obrazem diskety:
http://atlantis.kvalitne.cz/my/Snake/Snake.tar.gz

Nahlásit jako SPAM
IP: 89.176.254.–
Standa
~ Anonymní uživatel
122 příspěvků
13. 2. 2008   #15
-
0
-

ty zdrojáky nejdozu stáhnout... Dej se sem pls na stáhnutí...

Nahlásit jako SPAM
IP: 85.207.101.–
Zelenáč0
Posthunter
13. 2. 2008   #16
-
0
-

To Standa :

Nahlásit jako SPAM
IP: 89.176.254.–
Standa
~ Anonymní uživatel
122 příspěvků
13. 2. 2008   #17
-
0
-

díky

Nahlásit jako SPAM
IP: 85.207.101.–
Santas0
Věrný člen
14. 2. 2008   #18
-
0
-

ani obrazky nejdu

Nahlásit jako SPAM
IP: 195.91.64.–
http://psandtner.sk/blog
Zelenáč0
Posthunter
15. 2. 2008   #19
-
0
-

Nj .-)

Nahlásit jako SPAM
IP: 89.176.254.–
c_coder0
Newbie
18. 2. 2008   #20
-
0
-

A co tohle :



#include <stdio.h>
#include <time.h>
int main(void)
{
srand((unsigned int)time(NULL));
printf("%d",(rand() % 1000));
return 0;
}

Absolutne nahodne cislo neziskas.

Nahlásit jako SPAM
IP: 212.80.70.–
tmi0
Věrný člen
19. 2. 2008   #21
-
0
-

To c_coder : mezi slovy program a algoritmus je docela podstatny rozdil.

absolutni nahoda - to uz je spise filozoficky problem otazky determinismu a indeterminismu.
jde predevsim o to, aby uzivatel nemohl urcit jake cislo mu generator vyda a aby generator rozdeloval cisla relativne rovnomerne. na generator pro hru staci vyuzivani systemoveho sumu (/dev/rand)

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
c_coder0
Newbie
21. 2. 2008   #22
-
0
-

To tmi :
To je rozdil, ale pro nej to neni rozdil)))
A ty urcite jses si jisty ze ma Linux ?

Nahlásit jako SPAM
IP: 212.80.70.–
Zelenáč0
Posthunter
21. 2. 2008   #23
-
0
-

To c_coder : Muzu se zeptat, jak si prisel na to, ze nevidim rozdil mezi slovy "program" a "algoritmus"? Oproti tomu, jelikoz mam jako avatara Tuxe, je celkem snadne poznat, ze Linux pouzivam.

Nahlásit jako SPAM
IP: 89.176.254.–
c_coder0
Newbie
21. 2. 2008   #24
-
0
-

To Zelenáč :
Ja jsem to tak nemyslel, chtel jsem rict ze nebude pro tebe rozdil jestli tu napisu algoritmus a nebo cely program
A vubec chtel jsem ti nejak pomoct.
Mel bys vedet,ze tady na foru je nekolik tomu tvemu podbnych temat.

Kdyz mas avatara Tuxe to nemuse znamet ze pouzivas Linux))) Kdyz budu mit jako avatara Jennifer Lopez bude to znamenat ze vlastnim JL ??? =)))

Nahlásit jako SPAM
IP: 212.80.70.–
Zelenáč0
Posthunter
21. 2. 2008   #25
-
0
-

c_coder napsal:
To Zelenáč :
Kdyz mas avatara Tuxe to nemuse znamet ze pouzivas Linux


Kdyz si to spojis se skutecnosti, ze tretina z mych prispevku zavani Linuxackym fanatismem, myslim, ze neni o cem diskutovat ;-)

Nahlásit jako SPAM
IP: 89.176.254.–
Wen
~ Anonymní uživatel
14 příspěvků
22. 2. 2008   #26
-
0
-

kongruentní generátor
Neni sice nic moc ale treba bude stacit.

Nahlásit jako SPAM
IP: 62.177.87.–
vsman
~ Anonymní uživatel
8 příspěvků
23. 2. 2008   #27
-
0
-

unsigned int rnd()
{
static unsigned int n = 1234567890;
n *= 993711;
return n;
}
Náhodné číslo v rozsaju 0-0xffffffff

Pseudonáhodne číslo využíva neusporiadanosť iracionálnych čísel.

Na zvýšenie účinnosti treba zakomponovať chaos.
Napríklad:

n = (n * 993711 + 523147) >> 16;
return n & 0xffff;

Náhodné číslo v rozsaju 0-0xffff


Nahlásit jako SPAM
IP: 89.173.13.–
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
23. 2. 2008   #28
-
0
-

Radšej by som to upravil takto:

n = n * 993711 + 523147;
return n >> 16;

Nahlásit jako SPAM
IP: 89.173.13.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 241 hostů

Podobná vlákna

Nahodne cislo — založil Marek Čačko

Náhodné číslo — založil Xeror

Náhodné číslo — založil Jakub Vojáček

Náhodné číslo — založil paking

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý