تور لحظه آخری
امروز : دوشنبه ، 17 دی 1403    احادیث و روایات:  پیامبر اکرم (ص):نابودى جوانانتان را آرزو نكنيد ، گرچه بدى‏هاى بسيار در آنان باشد، زيرا آنان با ...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

اجاره سند در شیراز

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

خرید بلیط هواپیما

بلیط اتوبوس پایانه

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

پوستر آنلاین

بهترین وکیل کرج

بهترین وکیل تهران

خرید از چین

خرید از چین

تجهیزات کافی شاپ

خرید سرور اچ پی ماهان شبکه

کاشت ابرو طبیعی و‌ سریع

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

نمایندگی دوو در کرج

دوره آموزش باریستا

مهاجرت به آلمان

بورس کارتریج پرینتر در تهران

تشریفات روناک

نوار اخطار زرد رنگ

ثبت شرکت فوری

خودارزیابی چیست

فروشگاه مخازن پلی اتیلن

قیمت و خرید تخت برقی پزشکی

کلینیک زخم تهران

خرید بیت کوین

خرید شب یلدا

پرچم تشریفات با کیفیت بالا و قیمت ارزان

کاشت ابرو طبیعی

پرواز از نگاه دکتر ماکان آریا پارسا

پارتیشن شیشه ای اداری

اقامت یونان

خرید غذای گربه

رزرو هتل خارجی

تولید کننده تخت زیبایی

مشاوره تخصصی تولید محتوا

سی پی کالاف

دوره باریستا فنی حرفه ای

چاکرا

استند تسلیت

تور بالی نوروز 1404

سوالات لو رفته آیین نامه اصلی

کلینیک دندانپزشکی سعادت آباد

پی ال سی زیمنس

دکتر علی پرند فوق تخصص جراحی پلاستیک

تجهیزات و دستگاه های کلینیک زیبایی

تعمیر سرووموتور

تحصیل پزشکی در چین

مجله سلامت و پزشکی

تریلی چادری

 






آمار وبسایت

 تعداد کل بازدیدها : 1851446156




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

یک سوال در رابطه با سی شارپ: تولید اعداد تصادفی -


واضح آرشیو وب فارسی:سایت ریسک: یک سوال در رابطه با سی شارپ: تولید اعداد تصادفی دوستی 20 آذر 1388, 21:49سلامممم:) پس از مدت ها دوباره اومدیم البته این دفعه از پی اچ پی کوچ کردیم به سی شارپ:green: دوستان من میخوام یه آرایه که دارم با یه حلقه به صورت تصادفی توی 8 تا خونش 1 بذارم. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { int[,] inta = new int[8,8]; int[,] intb = new int[8, 2]; public Form1() { InitializeComponent(); } //custome class private int RandomNumber(int min, int max) { Random random = new Random(DateTime.Now.Millisecond); return random.Next(min,max); } private int RandomNumber2(int min, int max) { Random random = new Random(); return random.Next(min, max); // // } //end of custome class private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { //Int32 n = Int32.Parse(textBox1.Text); RandomNumber2(1, 8); for (int i = 0; i < 8; i++) { label1.Text = label1.Text + " "; for (int i2 = 0; i2 < 8; i2++) { label1.Text = label1.Text +" "+ inta[i, i2].ToString(); } } label1.Text = label1.Text +" "; for (int i = 0; i < 8; i++) { Random random = new Random(DateTime.Now.Millisecond); Random random2 = new Random(); inta[(int)random.Next(1,10-2), random2.Next(1, 8)] = 1; } ولی نمیشه! اون عدد تصادفی هر دفعه فقط یه مقدار میده. یعنی هربار هشت دفعه یه خونه 1 میشه در حالی که میخوام تو همون یه دفعه 8تا خونه تصادفی یک بشه. هر بلایی سرش آوردم نشد.:-? در ضمن من مبتدی هستم. لطفا راهنمایی بفرمایید ممنون the_king 21 آذر 1388, 01:59پنج تا اشکال در کد تان می بینم : 1) شما ایجاد کردن شی از کلاس Random را در داخل حلقه نوشته اید، به همین جهت برای هر کدام از اعداد تصادفی تولید شده مجددا یک شی از کلاس Random ایجاد می شود که زمان سپری شده از ایجاد شی قبلی فوق العاده کم است، بدیهی است که Seed ای که بر حسب زمان ایجاد می شود در این فاصله کوتاه ممکن است تغییری نکند. نیازی نیست که برای هر عدد تصادفی مجددا شیء ایجاد شود، یک شیء از نوع Random بسازید و تا انتهای برنامه از همان یک نمونه استفاده کنید. 2) کد های داخل یک حلقه ساده for که از 0 الی 7 را می شمارد کمتر از یک میلی ثانیه طول می کشد، بنابر این ایجاد کردن اعداد تصادفی بر اساس DateTime.Now.Millisecond قطعا منجر به انتخاب Seed های تکراری خواهد شد. بهتر است که برای ایجاد کردن شی از نوع Random از هیچ پارامتری استفاده نکنید، خودش بطور پیشفرض Seed را بر اساس زمان با دقت فوق العاده بیشتری از میلی ثانیه ایجاد خواهد کرد. 3) حلقه نمایش مقادیر اندیس های آرایه در label1 قبل از حلقه قرار دادن مقادیر 1 در آرایه اجرا می شود، چرا کد آنرا بالاتر نوشتید؟ 4) شماره اندیس های آرایه [8,8] از 0 الی 7 هستند، در حالی که تابع عدد تصادفی (random2.Next(1, 8 عددی بین 1 و 7 را بر می گرداند (عدد تصادفی x بزرگتر یا مساوی min و کوچکتر از max خواهد بود). 5) چک نکردید که اگر زوج اعداد تصادفی [x, y] ایجاد شده تکراری بود، زوج اعداد تصادفی دیگری انتخاب نماید. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { int[,] inta = new int[8, 8]; Random random = new Random(); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { int x, y; for (int i = 0; i < 8; i++) { do { x = random.Next(0, 8); y = random.Next(0, 8); } while (inta[x, y] == 1); inta[x, y] = 1; } for (int i = 0; i < 8; i++) { label1.Text = label1.Text + " "; for (int i2 = 0; i2 < 8; i2++) { label1.Text = label1.Text + " " + inta[i, i2].ToString(); } } label1.Text = label1.Text + " "; } } }




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 3729]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن