Losowanie na podstawie zmiennej.

0

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 ?

0
#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

0

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.

0

Nie trolluj tylko wstaw sobie a w odpowiednie miejsca.

0
int n = a + ( rand() % ( 5 - a + 1 ) );

to bedzie dzialac wporzadku ? No nie wiem...

0
int n = a + ((rand())%3-1);

1 użytkowników online, w tym zalogowanych: 0, gości: 1