نمایش نتایج 1 تا 7 از 7

نام تاپیک: مشکل در تولید اعداد تصادفی

  1. #1
    کاربر دائمی آواتار hesam67_b
    تاریخ عضویت
    دی 1387
    محل زندگی
    مازندران
    پست
    192

    مشکل در تولید اعداد تصادفی

    با سلام به همه دوستان و اساتید عزیز.

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

    من کد زیر رو توی یه کلاس جدا به نام Numbers نوشتم ولی فقط عدد 0 رو تولید میکنه.

    دوستان میتونن راهنمایی کنن مشکل از کجاست؟

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


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace Numbers_Game
    {
    public class Numbers
    {

    public int[] Number = new int[9];

    public Numbers()
    {
    Random Number1and2 = new Random(DateTime.Now.Millisecond);
    for (int i = 1; i <= 2; i++)
    Number[i] = Number1and2.Next(1, 100);
    Number[3] = Number[1] + Number[2];

    Random Number4 = new Random(DateTime.Now.Millisecond);
    for (int i = 4; i <= 5; i++)
    Number[i] = Number4.Next(1, 100);
    Number[6] = Number[4] + Number[5];
    Number[7] = Number[1] + Number[4];
    Number[8] = Number[2] + Number[5];
    Number[9] = Number[3] + Number[6];
    }



    }



    }

  2. #2
    کاربر دائمی آواتار vandermond
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    رايانه
    پست
    526

    نقل قول: مشکل در تولید اعداد تصادفی

    دوست عزيز
    Random r = new Random();
    double Number4 = r.Next(0,5);

    اين كد Number4 رو يك عدد تصادفي بين 0 تا 5 ميزاره.



    (شايد اين آخرين پستم توي اين هفته باشه)

  3. #3
    کاربر دائمی آواتار hesam67_b
    تاریخ عضویت
    دی 1387
    محل زندگی
    مازندران
    پست
    192

    نقل قول: مشکل در تولید اعداد تصادفی

    خوب من برای تولید 2 عدد تصادفی از حلقه استفاده کردم.
    ولی جواب نمیده و فقط 0 تولید میکنه ( در واقع اصلا کار نمیکنه )

    نمی دونم چرا

  4. #4

    نقل قول: مشکل در تولید اعداد تصادفی

    نقل قول نوشته شده توسط hesam67_b مشاهده تاپیک

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace Numbers_Game
    {
    public class Numbers
    {

    public int[] Number = new int[9];

    public Numbers()
    {
    Random Number1and2 = new Random(DateTime.Now.Millisecond);
    for (int i = 1; i <= 2; i++)
    Number[i] = Number1and2.Next(1, 100);
    Number[3] = Number[1] + Number[2];

    Random Number4 = new Random(DateTime.Now.Millisecond);
    for (int i = 4; i <= 5; i++)
    Number[i] = Number4.Next(1, 100);
    Number[6] = Number[4] + Number[5];
    Number[7] = Number[1] + Number[4];
    Number[8] = Number[2] + Number[5];
    Number[9] = Number[3] + Number[6];
    }



    }



    }
    سلام دوست عزيز مشكل شما را دوستمون جواب داده ايشون به حلقه اشاره نكرده بلكه به نوع استفاده از متد random اشاره كرده اگه دقت مي كرديد براي متد Random مقداري تعيين نكرده ولي شما از constractur استفاده كردي كه مقدار DateTime.Now.Millisecond را بهش دادي
    اما در مورد حلقه هم بگم من نميدونم شما چرا كار را سخت كرديد براي 2بار نوشتن متد اومديد يه حلقه تعريف كرديد و يك ارايه تعريف كرديد در حالي كه خيلي راحت با 2 تا متغير اين كار را ميشد كرد اميدوارم مشكلتون حل بشه

  5. #5
    کاربر دائمی
    تاریخ عضویت
    تیر 1388
    محل زندگی
    نا کجا باد
    پست
    813

    نقل قول: مشکل در تولید اعداد تصادفی

    دوست عزیز با استفاده ز تابع random و قراردادن این مقدار تصادفی در یک متغیر و جمع زدن مقدار این متغیر با سال و ماه و روز و ساعت و دقیقه و ثانیه می تونی یک عدد تصادفی بدون تکرار تولید کنی و دیگر هم نیاز به استفاده از حلقه for و array نیست

  6. #6
    کاربر دائمی آواتار hesam67_b
    تاریخ عضویت
    دی 1387
    محل زندگی
    مازندران
    پست
    192

    نقل قول: مشکل در تولید اعداد تصادفی

    نقل قول نوشته شده توسط va_sha_114 مشاهده تاپیک
    سلام دوست عزيز مشكل شما را دوستمون جواب داده ايشون به حلقه اشاره نكرده بلكه به نوع استفاده از متد random اشاره كرده اگه دقت مي كرديد براي متد Random مقداري تعيين نكرده ولي شما از constractur استفاده كردي كه مقدار DateTime.Now.Millisecond را بهش دادي
    اما در مورد حلقه هم بگم من نميدونم شما چرا كار را سخت كرديد براي 2بار نوشتن متد اومديد يه حلقه تعريف كرديد و يك ارايه تعريف كرديد در حالي كه خيلي راحت با 2 تا متغير اين كار را ميشد كرد اميدوارم مشكلتون حل بشه
    مرسی از راهنمایی.
    ظاهرا مشکل از تعریف متغیر زیر بود

    public int[] Number = new int[9];


    وقتی تعریف بالا رو با تعریف پایین جایگزین کردم و آرایه رو با یک تابع برگشت دادم مشکل حل شد.

    int[] Number = new int[9];



    ولی هدفم این بود که یک کلاس جدا برای تولید اعداد تصادفی ایجاد کنم و اعداد تولید شده رو با یک متد برگشت بدم که موفق نشدم.
    آخرش مجبور شدم توی خود فرم یک متد برای تولید اعداد تعریف کنم.


    دوست عزیز با استفاده ز تابع random و قراردادن این مقدار تصادفی در یک متغیر و جمع زدن مقدار این متغیر با سال و ماه و روز و ساعت و دقیقه و ثانیه می تونی یک عدد تصادفی بدون تکرار تولید کنی و دیگر هم نیاز به استفاده از حلقه for و array نیست
    نه اصلا نیازی به این کار نبود چون خیلی راحت با همین DateTime.Now.Millisecond اعدا تصادفی رو برحسب زمان جاری تولید میکنه.

    شما از constractur استفاده كردي
    ببخشید من مبتدی هستم. میشه مفهوم constractur رو برام توضیح بدی؟؟

  7. #7
    کاربر دائمی
    تاریخ عضویت
    تیر 1388
    محل زندگی
    نا کجا باد
    پست
    813

    نقل قول: مشکل در تولید اعداد تصادفی

    ببخشید من مبتدی هستم. میشه مفهوم constractur رو برام توضیح بدی؟؟
    دوست عزیز زمانی که یک شی از کلاس مورد نظر ساخته می شود در همان لحظه به صورت اتوماتیک این تابع (constractur) فراخوانی می شود که می تونی عملیات و یکسری دستوراتی درون این تابع قرار بدی در بالا ذکر کردم این عملیات یا دستورات اجرا شوند
    گرامر:
    public nameclass()
    {دستورات}

    زمان ساخت شی
    nameeclass شی=new nameclasss()

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •