GRY-Online.pl --> Archiwum Forum

Losowanie C++

02.03.2007
14:05
[1]

TiAmo [ Pretorianin ]

Losowanie C++

Czy moglby mi ktos napisac tak w miare klarownie jak mozna zrobic losowanie w C++? Uzywam kompilatora devcpp, jezeli ma to jakies znaczenie (w przypadku niestandardowych bibliotek do tego celow potrzebnych np). Chodz mi o krotki tutorial, lub chociazby wyjasniony przyklad, sam moze dojde. Cos prostego, np losowanie liczb calkowitych z przedzialu <0,10> lub o ile to mozliwe zmiennoprzecinkowych.

02.03.2007
14:11
[2]

aikikaisensei [ Senator ]

#include <iostream>
#include <ctime>
using namespace std;

int main()‹
srand(time(0)); // uruchamia losowanie
int x;
x=rand()%10; // przedział 0-9
printf("%d", x);



Możesz jeszcze dodać getchar na koniec, aby nie zamykało okna programu po wykonaniu funkcji.

02.03.2007
14:16
[3]

TiAmo [ Pretorianin ]

Nie, to ma byc wiekszy projekt, po prostu nigdy jeszcze nie uzywalem losowania, wiec getchar sie obejdzie i tak odpalam z konsoli. A gdyby to mial byc przedzial 5-10? Albo liczby float badz double? Albo zbir po prostu liczb zawartych w klamrze, nie przedzial(zawsze niby moge zrobic to za pomoca indexowania tablicy, ale moze mozna jakos prosciej)?

02.03.2007
14:17
[4]

yasiu [ Senator ]

losowanie ze zbioru przeca mozesz zrobic majac ten powyzszy przyklad... zliczasz ilosc elementow w zbiorze, losujesz liczbe z przedzialu 1-liczba elementow i wskazujesz na ten wlasnie element w zbiorze :)

02.03.2007
14:22
[5]

TiAmo [ Pretorianin ]

yasiu - wiem ze moge tak zrobic :) Ale chcialem sie dowiedziec czy moze jest banalniejszy sposob. Aha i jeszcze jedno, co wprowadza argument time(0) w funkcji srand?

02.03.2007
14:31
[6]

pecet007 [ Talk to the claw ]

TiAmo -- time(0) inicjuje generator liczb losowych w oparciu o aktualny czas

03.03.2007
00:26
[7]

TiAmo [ Pretorianin ]

Ok rozumiem, a czy losowanie jest mozliwe tylko w oparciu o liczby calkowite? I jak jestesmy juz przy"czasie", jak zrobic delay w devcpp? Jaka instrukcja jest potrzebna, lub moze jaka biblioteka?

© 2000-2026 GRY-OnLine S.A.