Witam,
mam zmienna a, powiedzmy ze jej wartosc to 4, i teraz, chce dac ifa w
ktorym rand bedzie losowal dla 'a' wartosc pomiedzy 3 i 5, czyli a-1 i
a+1, probowalem:
a=(rand()%a+1)a-1
ale cos niezbyt, jak to poprawnie powinno wygladac ?
Witam,
mam zmienna a, powiedzmy ze jej wartosc to 4, i teraz, chce dac ifa w
ktorym rand bedzie losowal dla 'a' wartosc pomiedzy 3 i 5, czyli a-1 i
a+1, probowalem:
a=(rand()%a+1)a-1
ale cos niezbyt, jak to poprawnie powinno wygladac ?
#include <iostream>
#include <random>
int main()
{
std::random_device rd;
std::mt19937 eng(rd());
std::uniform_int_distribution<> distr(3, 5);
int n = distr(eng);
}
albo
int n = 3 + ( std::rand() % ( 5 - 3 + 1 ) );
SO nie boli ;p
http://stackoverflow.com/questions/7560114/random-number-c-in-some-range
Nie nie, ja nie wiem jaka bedzie wartosc 'a' to poda uzytkownik, ja podalem te liczby 3,4,5 na przykladzie tylko. chce zeby uniwersalnie bralo, i zeby kod byl w c.
Nie trolluj tylko wstaw sobie a
w odpowiednie miejsca.
int n = a + ( rand() % ( 5 - a + 1 ) );
to bedzie dzialac wporzadku ? No nie wiem...
int n = a + ((rand())%3-1);