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.
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.
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)?
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 :)
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?
pecet007 [ Talk to the claw ]
TiAmo -- time(0) inicjuje generator liczb losowych w oparciu o aktualny czas
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?