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í
×
dnes 01:23 | Zajímavý software
Google vydal verzi 1.0.5 svého Google Web Designeru (GWD). Jednou z novinek je podpora Linuxu, konkrétně linuxových distribucí Ubuntu, Debian, openSUSE a Fedora. Dle nápovědy: Google Web Designer je pokročilá webová aplikace vytvořená pomocí technologií HTML5, která umožňuje návrh a vytváření reklam HTML5 a jiného webového obsahu pomocí integrovaného vizuálního a kódového rozhraní.
Ladislav Hagara | Komentářů: 2
včera 21:08 | Nová verze
Vyšlo GCC 4.9.0. Přináší podporu OpenMP 4.0, hodně práce na ještě nevydaném C++1y, vylepšení pro platformy ARM, lepší schopnosti optimalizace nebo UndefinedBehaviorSanitizer (nový detektor nedefinovaného chování).
Luboš Doležel (Doli) | Komentářů: 16
včera 14:55 | Zajímavý projekt
Vývojáři OpenBSD nedávno forkli OpenSSL za účelem pročištění, odlehčení a opravy chyb. Nyní má tento projekt jméno a oficiální stránku. Po dokončení "čistky" je plánována i podpora jiných operačních systémů (kromě OpenBSD).
Hans1024 | Komentářů: 44
včera 14:46 | Pozvánky
Jarní konference EurOpen 2014 v Herbertově je otevřena pro přihlášení. Zaměření konference je Cloud, DNSSEC a embedded systémy. Více informací a přihlášení na www.europen.cz
cuba | Komentářů: 0
včera 11:01 | Komunita
Google zveřejnil seznam studentů přijatých do letošního Google Summer of Code. Z celkového počtu 4420 přihlášených studentů bylo vybráno 1307 studentů. Přehled studentů, projektů, organizací a mentorů je k dispozici ve zveřejněné tabulce. Například pro KDE bude pracovat 42 studentů, pro Apache Software Foundation 39 studentů, pro GNOME 35 studentů, pro openSUSE 14 studentů, pro Fedora Project 10 studentů, …
Ladislav Hagara | Komentářů: 5
19.4. 01:01 | Zajímavý článek
Společnost Coverity vydala Coverity Scan Open Source Report za rok 2013. Dle nejnovější zprávy je například v open-source C/C++ projektech průměrně 0,59 chyby na 1000 řádků kódu, kdežto u proprietárních projektů je to 0,79 chyby na 1000 řádků kódu. Službu Coverity Scan využívá více než 1700 open-source projektů.
Ladislav Hagara | Komentářů: 11
18.4. 01:23 | Komunita
ISC (Internet Systems Consortium) vydalo verzi 1.2.0 DNS serveru BIND 10. Současně bylo ale oznámeno, že se jedná o poslední verzi BIND 10. Projekt byl přejmenován na Bundy a předán komunitě. ISC bude nadále rozvíjet BIND 9 a ISC DHCP.
Ladislav Hagara | Komentářů: 21
17.4. 23:22 | Nová verze
Vyšlo Ubuntu 14.04 (Trusty Tahr) a jeho deriváty jako Kubuntu nebo Xubuntu. Jedná se o vydání s dlouhodobou podporou: pět let v případě Ubuntu Desktop/Server/Core/Kylin, Edubuntu a Kubuntu, tři roky jinak.
davkol | Komentářů: 44
17.4. 20:40 | Nová verze

V kontrolním skriptu byla vylepšena detekce Linux/Ebury a přidány nově zjištěné signatury napadených webových serverů komponentou Linux/Cdorked.

… více »
Leos | Komentářů: 0
17.4. 07:00 | Nová verze
Byla vydána verze 4.13 desktopového prostředí KDE. Nová verze přináší především vylepšení aplikací. Vlastní prostředí a knihovny jsou od vydání verze 4.11 (zprávička) v udržovacím módu. Vývojáři se primárně věnují přechodu na KDE Frameworks 5. Jedinou novinkou je vylepšené sémantické vyhledávání.
Ladislav Hagara | Komentářů: 30
Máte na svém notebooku zašifrovaný pevný disk?
 (84%)
 (16%)
Celkem 1045 hlasů
 Komentářů: 22, poslední 20.4. 20:15
Rozcestník
Reklama
Autoškola testy online Levný benzín

Dotaz: c++ - generator nahodnych cisel.

25.2.2006 20:53 riggs
c++ - generator nahodnych cisel.
Přečteno: 18250×
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: 97 | 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: 97 | 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!!! stativ.kx.cz
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   Powered by Hosting 90 Server hosting
© 1999-2013 Argonit s. r. o. Všechna práva vyhrazena.