abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 15:11 | Nová verze

Byl vydán BunsenLabs Linux Hydrogen. Jedná se o nástupce linuxové distribuce CrunchBang (zkráceně #!) založené na Debianu a lišící se především předkonfigurovaným správcem oken Openbox (Wikipedie). Vývoj #! byl ukončen v únoru loňského roku (zprávička). Nejnovější verze BunsenLabs Linuxu Hydrogen je založena na Debian Jessie 8.4.

Ladislav Hagara | Komentářů: 0
29.4. 19:15 | Zajímavý projekt

Byl vydán Devuan Jessie 1.0 Beta. Jedná se o beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička).

Ladislav Hagara | Komentářů: 2
29.4. 15:11 | Bezpečnostní upozornění

V GitLabu, v open source alternativě GitHubu, tj. v softwarovém nástroji s webovým rozhraním umožňujícím spolupráci na zdrojových kódech, byla nalezena vážná bezpečnostní chyba CVE-2016-4340. Bezpečnostní aktualizace bude vydána v úterý 3. května v 01:59 [Hacker News].

Ladislav Hagara | Komentářů: 0
29.4. 13:33 | Zajímavý software

Cryptomator je svobodná multiplatformní aplikace pro transparentní šifrování souborů ukládaných do cloudu. Šifrování a dešifrování probíhá na straně klienta. Zdrojové kódy jsou k dispozici na GitHubu. Podrobnosti v popisu technologie a odpovědích na často kladené dotazy (FAQ).

Ladislav Hagara | Komentářů: 3
29.4. 01:33 | Zajímavý projekt

Dle plánu (zprávička) byla na Crowd Supply spuštěna kampaň na podporu LimeSDR od společnosti Lime Microsystems. Jedná se o open source platformu pro softwarově definovaná rádia (SDR). LimeSDR zvládne komunikaci pomocí UMTS, LTE, GSM, LoRa, Bluetooth, Zigbee, RFID a dalších protokolů.

Ladislav Hagara | Komentářů: 12
29.4. 00:33 | Zajímavý software

Společnost eyeOS představila svobodný online kancelářský balík Open365. Jedná se o kombinaci LibreOffice online, Seafile a KDE. K dispozici je také klient pro několik operačních systémů. Videoukázky na YouTube. Zdrojové kódy nebyly zatím vydány [Hacker News].

Ladislav Hagara | Komentářů: 15
28.4. 22:55 | Komunita

Byly zveřejněny videozáznamy z konference LinuxFest Northwest 2016 (Twitter) konané 23. a 24. dubna v Bellinghamu (WA). Přednášel například také Bryan Lunduke, známý mimo jiné sérií přednášek Linux Sucks. Název jeho letošní přednášky byl Linux is Freaking Weird.

Ladislav Hagara | Komentářů: 0
28.4. 18:54 | Zajímavý článek

Hospodářské noviny přinesly v článku s názvem Linuxu se už dávno podniky nebojí rozhovor s Ivetou Babulenkovou, šéfkou českého a slovenského obchodního zastoupení společnosti Red Hat.

Ladislav Hagara | Komentářů: 37
28.4. 13:00 | Nová verze

Byla vydána verze 0.26.0 grafického správce diskových oddílů GParted (GNOME Partition Editor). Z novinek lze zmínit například počáteční podporu LUKS (Linux Unified Key Setup). Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 9
28.4. 01:00 | Zajímavý projekt

Humble Bundle nejsou jenom hry, ale i elektronické knihy bez DRM. V rámci nejnovější akce Humble Book Bundle: Hacking presented by No Starch Press lze koupit elektronické knihy od nakladatelství No Starch Press. Za libovolnou částku lze koupit "Automate the Boring Stuff with Python", "The Linux Command Line", "The Smart Girl's Guide to Privacy: Practical Tips for Staying Safe Online" a "Hacking the Xbox: An Introduction to Reverse

… více »
Ladislav Hagara | Komentářů: 0
Jaký poměr stran pracovní plochy (příp. složené z více monitorů) preferujete?
 (6%)
 (16%)
 (50%)
 (21%)
 (4%)
 (1%)
 (0%)
Celkem 204 hlasů
 Komentářů: 16, poslední včera 10:53
Rozcestník
Reklama

Dotaz: c++ - generator nahodnych cisel.

25.2.2006 20:53 riggs
c++ - generator nahodnych cisel.
Přečteno: 20395×
Zdravim. Potreboval by som poradit. Ako sa da v C++ urobit funkcia, ktora by mi po kazdom zavolani vygenerovala nejake nahodne cislo, povedzme od 1 do 1000? Potrebujem na to nejaku kniznicu alebo sa to da napisat primao v C ? Pouzivam len kniznicu iostream pod linuxom, c++ sa zatial venujem len cca 6 mesiacov. dik

Odpovědi

25.2.2006 21:11 #Tom
Rozbalit Rozbalit vše Re: c++ - generator nahodnych cisel.
Knihovna jazyka C nabízí funkce rand a random, nejprve je však třeba nastavit počáteční hodnotu pomocí srand nebo srandom. Třeba takto:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
  srand(time(0));
  cout << "Náhodné číslo od nuly do deseti: " << rand() % 11 << endl;
}
Luboš Doležel (Doli) avatar 25.2.2006 21:15 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: c++ - generator nahodnych cisel.
#include <cstdlib>

int genrand(int min, int max)
{
    return min+(rand()%(++max-min));
}
Jinak viz rand(3).
25.2.2006 21:22 Lukáš Rýdlo | skóre: 18 | blog: Silný kafe | Brno
Rozbalit Rozbalit vše Re: c++ - generator nahodnych cisel.
Nahodna cisla se generuji pomoci funkce rand(), ktera dava int, nebo random(), ktera dava long int. Pred pouzitim je vhodne inicializovat generator pseudonahodnych cisel pomoci srand(nejaky_unsigned_int), resp. srandom(nejaky_unsigned_int). Ten int v argumentu by mel byt pokud mozno nekonstatni, jinak bys asi dostaval porad stejna nahodna cisla ;-) (tim si ted nejsu zcela jist, protoze jsem to nezkousel a neznam pouzity algoritmus generovani, ale vetsinou to tak byva). Takze tam muzes hazet treba time().

Zbytek viz man 3 rand() nebo man 3 random().

A ten rozsah nejlepe osetris pomoci modula (zbytek po deleni). Pokud potrebujes rozsah mensi, nez je maximalni hodnota generovana prislusnou funkci, pak ji prozenes modulem. Napr. pro rozsah 0-100 pouzijes rand()%101 (101 je tam proto, ze delis modulo 101, abys dostal 0-100, tedy celkem 101 zbytkovou tridu). Tvuj problem 1-1000 je pak (rand()%1000)+1...

Uff, to byl vycerpavajici vyklad :-D
θηριον ειμι
25.2.2006 21:24 Lukáš Rýdlo | skóre: 18 | blog: Silný kafe | Brno
Rozbalit Rozbalit vše Re: c++ - generator nahodnych cisel.
To jsem to psal fakt 11 minut? ;-)
θηριον ειμι
Luboš Doležel (Doli) avatar 25.2.2006 21:25 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: c++ - generator nahodnych cisel.
Já už to jen doplním o skupinu funkcí drand48, lrand48, mrand48, ... které generují např. desetinná čísla.
stativ avatar 26.2.2006 11:28 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: c++ - generator nahodnych cisel.
Na inicializaci generatoru napr. srand( (unsigned)time( NULL ) );
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
elviin avatar 25.2.2006 23:03 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: c++ - generator nahodnych cisel.
Urcite bych pouzil boost::random.
//typ nahody
boost::ecuyer1988 genType;
 
//generator nahody s urcenim mezi
boost::variate_generator<boost::ecuyer1988, boost::uniform_int<> >
    mujGenerator(genType, boost::uniform_int<>(dolniMez,horniMez));

//generovani hodnot
for (int i = 0; i < 1000; ++i)
    cout << mujGenerator() << endl;

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267  
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.