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 23:33 | Nová verze

    Byla vydána nová verze 25.10.31 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    1.11. 07:33 | Komunita

    O víkendu probíhá konference OpenAlt 2025 (Stream). Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma.

    Ladislav Hagara | Komentářů: 0
    1.11. 00:55 | IT novinky

    Josef Průša představil novou velkoformátovou uzavřenou CoreXY 3D tiskárnu Prusa CORE One L a nový open source standard chytrých cívek OpenPrintTag i s novou přepracovanou špulkou.

    Ladislav Hagara | Komentářů: 7
    31.10. 18:33 | IT novinky

    Na GOG.com běží Autumn Sale. Při té příležitosti je zdarma hororová počítačová hra STASIS (ProtonDB: Platinum).

    Ladislav Hagara | Komentářů: 0
    31.10. 13:22 | Komunita

    Ubuntu 25.10 má nově balíčky sestavené také pro úroveň mikroarchitektury x86-64-v3 (amd64v3).

    Ladislav Hagara | Komentářů: 8
    31.10. 01:22 | Nová verze

    Byla vydána verze 1.91.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    31.10. 00:11 | IT novinky

    Ministerstvo průmyslu a obchodu vyhlásilo druhou veřejnou soutěž v programu TWIST, který podporuje výzkum, vývoj a využití umělé inteligence v podnikání. Firmy mohou získat až 30 milionů korun na jeden projekt zaměřený na nové produkty či inovaci podnikových procesů. Návrhy projektů lze podávat od 31. října do 17. prosince 2025. Celková alokace výzvy činí 800 milionů korun.

    Ladislav Hagara | Komentářů: 5
    30.10. 23:44 | Komunita

    Google v srpnu oznámil, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Iniciativa Keep Android Open se to snaží zvrátit. Podepsat lze otevřený dopis adresovaný Googlu nebo petici na Change.org.

    Ladislav Hagara | Komentářů: 0
    30.10. 15:22 | Nová verze

    Byla vydána nová verze 18 integrovaného vývojového prostředí (IDE) Qt Creator. S podporou Development Containers. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 2
    30.10. 12:55 | Nová verze

    Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 2.0. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).

    Ladislav Hagara | Komentářů: 1
    Jaké řešení používáte k vývoji / práci?
     (36%)
     (48%)
     (19%)
     (18%)
     (22%)
     (16%)
     (20%)
     (16%)
     (17%)
    Celkem 298 hlasů
     Komentářů: 15, poslední včera 08:25
    Rozcestník

    Dotaz: c++ - generator nahodnych cisel.

    25.2.2006 20:53 riggs
    c++ - generator nahodnych cisel.
    Přečteno: 25753×
    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   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.