View Full Version : سوال: محدوده ی متغیر
Arcsinos
یک شنبه 16 اسفند 1388, 22:45 عصر
سلام
آیا میشه یک عدد تصادفی بین دو عدد x,y به وجود آوورد .
یا اصلا میشه محدوده ای برای یک عدد انتخاب کرد .
مثلا :
x>50 ,x<100
r=rand() % x
به جای استفاده از دستور :
r=rand() % 50
r+=50
A_Salimi
دوشنبه 17 اسفند 1388, 15:33 عصر
اول این ماکرو را تعریف کنید
#define MK_RAND( minval, maxval )( minval + rand() % maxval )
حالا به این صورت بین دو مقدار مورد نظر عدد دلخواه را فراخوانی کنید:
srand(time(NULL));
MK_RAND(0,6);
در این حالت اعداد تصادفی بین 0 تا 6 پدید می آیند
Arcsinos
سه شنبه 18 اسفند 1388, 00:59 صبح
این همون چیزی بود که من بالا گفته بودم نمی خوام ازش استفاده کنم
اگه متفیر من بین صفر تا ده و بین پنجاه تا شصت باشه چی یعنی x>0,x<10,x>50,x<60 باشه چی .
amin1softco
سه شنبه 18 اسفند 1388, 11:30 صبح
اینم از اون سوال ها بود اول متغیر بزرگتر را از متغیر کوچیک تر کم کن بعد باقیمانده را با راند بدست بیار بعد حاصل را با متغیر کوچیکتر(x یا y) جمع کن میشه بین این دوتا عدد :تشویق:
int x=10,y=20;
cout<<x+(rand()%(y-x))
Arcsinos
چهارشنبه 19 اسفند 1388, 00:00 صبح
بابا من میگم عدد من بین 0 تا 10 و بین 50 تا 60 رو میتونه اختیار کنه نمیگم که فقط بین 10 تا 50 است یعنی برای عددم 2تا بازه هست {0،10} اجتماعش با {50،60} از بین این دوتا میخوام رندوم بگیرم .
amin1softco
چهارشنبه 19 اسفند 1388, 22:19 عصر
خوب اینم چندتا راه داره اول اینه که تمام متغیر هاتو بریزی در یک آرایه و شماره خونه آرایه را راند بگیری یا اینکه دوتا متغیر بگیری یکی در یک بازه دیگری در یک بازه دیگه بعد بین این دو تا عدد یکی رو راندوم انتخاب کنی
meisam.jafarian
پنج شنبه 20 اسفند 1388, 11:05 صبح
امين جان درست ميگن ديگه مثلا اگه شما دو بازه دارين :{20-10} و {75-50}
حال بازه عدد رندم رو بين 0 تا 35 در نظر بگيريد
اگر عدد بين 0 تا 10 بود به اون 10 تا اضافه كنيد
اگر عدد بين 10 تا 35 بود به اون 40 تا اضافه كنيد
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.