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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 18:03 | IT novinky

Finská Jolla společně s indickým Intex Technologies představili (pdf) první licencovaný mobilní telefon Intex Aqua Fish s operačním systémem Sailfish OS 2.0. Telefon je dostupný na indickém eBay za 5 499 INR (2 000 Kč).

Ladislav Hagara | Komentářů: 12
včera 11:55 | Zajímavý projekt

Otevřená certifikační autorita Let's Encrypt oznámila, že již plně podporuje IPv6. Dosud byl problém s infrastrukturou (GitHub). Současně byl na stránce pro sponzory aktualizován počet webů využívajících Let’s Encrypt (GitHub). Aktuálně je to více než 8 milionů webů.

Ladislav Hagara | Komentářů: 0
včera 11:22 | Komunita

MojeFedora.cz informuje, že webový prohlížeč Chromium je oficiálně ve Fedoře. Vývojář Tom "spot" Callaway dotáhl do cíle několikaleté úsilí o zabalíčkování tohoto prohlížeče. Chromium je webový prohlížeč, na kterém staví populární Google Chrome, akorát v Chromiu nejsou "nesvobodné" části.

Ladislav Hagara | Komentářů: 6
26.7. 15:30 | Bezpečnostní upozornění

Ve virtualizačním softwaru Xen byly nalezeny 2 závažné zranitelnosti XSA-182 a XSA-183. XSA-182 (CVE-2016-6258) umožňuje eskalaci privilegií a ovládnutí celého systému, tj. správce hostovaného systému se může stát správcem hostitelského systému. Zranitelný je i Qubes OS, operační systém postavený nad Xenem (QSB #24).

Ladislav Hagara | Komentářů: 5
26.7. 13:51 | Zajímavý projekt

Vývojáři projektu ArchStrike, repozitáře pro Arch Linux se spoustou zajímavých nástrojů, vydali své první oficiální Live ISO. Stejně jako repozitář je i živý obraz systému zaměřen na uživatele věnující se počítačové bezpečnosti. Výchozím správcem oken je OpenBox [reddit].

Ladislav Hagara | Komentářů: 0
26.7. 00:55 | Nová verze

Po dvou měsících vývoje od vydání verze 230 (zprávička) oznámil Lennart Poettering vydání verze 231 správce systému a služeb systemd (GitHub, NEWS).

Ladislav Hagara | Komentářů: 21
26.7. 00:33 | Nová verze

Byla vydána verze 7.0 kontejnerové virtualizace OpenVZ (Wikipedie). OpenVZ je svobodný software uvolněný pod licencí GNU GPLv2. Společnost Virtuozzo nad OpenVZ základem vytváří své virtualizační řešení Virtuozzo a nabízí na něj komerční podporu.

Ladislav Hagara | Komentářů: 0
25.7. 16:00 | Zajímavý článek

Na blogu Evonide byly zveřejněny tři články věnované počítačové bezpečnosti. V nejčtenějším z nich s názvem How we broke PHP, hacked Pornhub and earned $20,000 popisuje Ruslan Habalov, jak se jim povedlo nalézt 2 chyby v PHP a díky tomu nalézt chybu na serveru Pornhub a vydělat tak 20 000 dolarů na Hackerone. Za nalezené chyby v PHP vydělali na Hackerone navíc dalších 2 000 dolarů. Bezpečnostním chybám v PHP jsou věnovány zbylé 2 články: Breaking PHP’s Garbage Collection and Unserialize a Fuzzing Unserialize.

Ladislav Hagara | Komentářů: 2
25.7. 09:45 | Zajímavý článek

Na MojeFedora.cz vyšel již 5. díl seriálu Použití assembleru v Linuxu. Pavel Tišnovský tentokrát rozebírá podmínky, rozvětvení a programové smyčky na procesorech ARM.

Ladislav Hagara | Komentářů: 0
25.7. 02:01 | Nová verze

Po 10 týdnech vývoje od vydání Linuxu 4.6 (zprávička) oznámil Linus Torvalds vydání Linuxu 4.7 (LKML). Přehled nových vlastností a vylepšení například na Kernel Newbies a v Jaderných novinách (1, 2, 3). Zdůraznit lze podporu grafických karet s čipem Radeon RX 480, nový experimentální regulátor frekvence CPU schedutil nebo bezpečnostní modul LoadPin. Kódové jméno Linuxu 4.7 je "Psychotic Stoned Sheep".

Ladislav Hagara | Komentářů: 10
Který shell primárně používáte v (emulátoru) terminálu?
 (76%)
 (0%)
 (14%)
 (1%)
 (1%)
 (6%)
 (1%)
 (0%)
Celkem 159 hlasů
 Komentářů: 8, poslední včera 21:41
Rozcestník
Reklama

Dotaz: c++ - generator nahodnych cisel.

25.2.2006 20:53 riggs
c++ - generator nahodnych cisel.
Přečteno: 20559×
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.