PDA

View Full Version : ساخت عدد تصادفی



hamidtmu
سه شنبه 13 آذر 1397, 15:24 عصر
با سلام و احترام خدمت استادادن بزرگ برنامه نویسی

من یه کد میخاستم که کار زیر را انجام بده

سه تا تکست باکس دارم
تکست باکس سوم عدد 4 هست. میخواستم به صورت تصادفی از اعداد مشخص(0.1.2.3.4) در اون دو تکست باکس دیگه اعدادی قرار بده که جمعشون برابر با تکست باکس سوم(4) باشه

-

SardareEshgh
چهارشنبه 14 آذر 1397, 09:39 صبح
سلام.
دوست عزیز شما وقتی در تکست باکس اولی بصورت رندوم یکی از اون اعداد رو انتخاب کردید دیگه برای تکس باکس دومی نمیتونید رندم انتخاب کنید و بالاجبار عددی باید بنویسید که جمعش با اولی برابر 4 شود. اما اگر اصرار دارید که دومی هم رندم انتخاب بشه پس باید داخل حلقه اونقدر تابع رندم اجرا بشه تا عددی رو انتخاب کنه که با جمع اولی 4 بشه.
در منطقش مشکل دارید یا در کد نویسیش؟

SardareEshgh
چهارشنبه 14 آذر 1397, 09:51 صبح
برای حالت اول :

Random rnd=new Random ();

int a1 = rnd.Next(0, 4);
int a2 = 4 - a1;

حالت دوم :

Random rnd = new Random();

int a1 = rnd.Next(0, 4);

int a2 = rnd.Next(0, 4);

while ((a1 + a2) != 4)
a2 = rnd.Next(0, 4);

hamidtmu
چهارشنبه 14 آذر 1397, 10:25 صبح
سلام و تشکر از دوست عزیز .
من توی هر دو مشکل دارم .و چون مبتدی هستم و ریاضی هم یکم ضعیفه درکش سخته .
الان توی کدهای بالا چیزی به اسم تکست باکس نیست. لطفا میکنی کامل کد رو بزاری که با یک دکمه دو تکست باکس دیگه پر بشن(یعنی نشون بده چه اعدادی را انتخاب کرده)

و یه نکته دیگه . اگر بخام این ویژگی را برای 300 تکست باکس دیگه نیز تکرار کنم باید چیکار کنم (لطفا با کد توضیح بدید.)خیلی ممنون.
ببخشید چون مبتدی هستم.

SardareEshgh
چهارشنبه 14 آذر 1397, 11:19 صبح
149374

این برای دو تا تکس باکس .

hamidtmu
چهارشنبه 14 آذر 1397, 11:45 صبح
خیلی ممنون که وقت گذاشتید. در مورد تکرار برای 300 تا ایا راهی ساده هست که این کار رو انجام بدم یا دستی یه دونه یه دونه انجام بدم؟

hamidtmu
چهارشنبه 14 آذر 1397, 11:54 صبح
149375
این عکسو ببین . مثلا من زدم از یک تا 7 ولی عدد دومی 11 شده
میخاستم برای هر دو تکس باکس از اون اعداد انتخاب کنه
.
در ضمن با همین نرم افزار کلی کارام راه افتاد

mr.sirwan
چهارشنبه 14 آذر 1397, 12:37 عصر
کد دوستمون رو که به اینصورت نوشته شده:
Random rnd = new Random();

int a1 = rnd.Next(0, 4);

int a2 = rnd.Next(0, 4);

while ((a1 + a2) != 4)
a2 = rnd.Next(0, 4);



به این شکل تغییر بده:

Random rnd = new Random();
int a1,a2;

while ((a1 + a2) != عدد مدنظر)
{
a1 = rnd.Next(1, 7);
a2 = rnd.Next(1, 7);
}

hamidtmu
چهارشنبه 14 آذر 1397, 15:56 عصر
متشکرم همون نرم افزاری که فرستاد کار را راه انداخت. خیلی خیلی ممنون از همه دوستان بزرگوار