abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:00 | Nová verze

    Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    dnes 00:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | IT novinky

    Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.

    Ladislav Hagara | Komentářů: 10
    včera 10:44 | Nová verze

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.

    Ladislav Hagara | Komentářů: 0
    včera 10:22 | Nová verze

    Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.

    Ladislav Hagara | Komentářů: 2
    včera 01:00 | Nová verze Ladislav Hagara | Komentářů: 0
    4.6. 19:55 | IT novinky

    Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.

    Ladislav Hagara | Komentářů: 0
    4.6. 13:44 | IT novinky

    Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.

    Ladislav Hagara | Komentářů: 0
    4.6. 13:22 | Nová verze

    Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    4.6. 12:55 | Zajímavý software

    Společnost Kaspersky vydala svůj bezplatný Virus Removal Tool (KVRT) také pro Linux.

    Ladislav Hagara | Komentářů: 11
    Rozcestník

    Dotaz: Fce rand() v C

    8.11.2005 20:45 Vasicek
    Fce rand() v C
    Přečteno: 1314×
    Dobry den,

    z jednoho sveho projektu jsem vytahl (a zjednosil) uryvek nize.
    int X()
    {
            srand(time(NULL));
            int i = rand() % 5;
            return i;
    }
    
    int main()
    {
            for(int i = 0; i < 20; i++)
                    std::cout << X() << std::endl;
    
            return 0;
    }
    Pokud toto zkompiluji a spustim tak mi vytiskne 20x stejne cislo. Delsi dobu mi to vrtalo v hlave az jsem prisel na banalni vec - premistit inicializaci generovace do main() a pak uz mi haze seznam 20 nahodnych cisel (v rozsahu, kterem chci). Ja bych se spise chtel zeptat, proc se to takto deje?

    Odpovědi

    Luboš Doležel (Doli) avatar 8.11.2005 20:55 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Fce rand() v C
    Protože vám time(NULL) dvacetkrát inicializuje generátor stejným číslem.
    8.11.2005 20:59 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
    Rozbalit Rozbalit vše Re: Fce rand() v C
    jojo, příliš rychlý počítač... zkuste
    ... ) { 
    std::cout << X() << std::endl;
    sleep(1);
    }
    
    8.11.2005 21:13 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Fce rand() v C
    Rád bych viděl tu rutinu, která generuje čísla v daném rozsahu. Jestli požadujete rovnoměrné rozdělení, tak to není tak jednoduché, jak by se mohlo zdát. Máte to takhle nebo nějak jinak?
    int random_int(int min, int max){
    /*returns random number from min to max
    (INCLUDING MIN AND MAX)*/
    
      int diffp1 = max - min + 1; /*difference plus one */
      int bucket_size = RAND_MAX/diffp1;
      int a;
    
      do{
        a = rand() / bucket_size;
      }while (a >= diffp1);
      return a + min;
    }
    

    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.