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

نام تاپیک: اعداد تصادفی غیر تکراری

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

    اعداد تصادفی غیر تکراری

    سلام دوستان
    کسی میدونه چطور میشه 9 تا عدد تصادفی غیر تکراری از 1 تا 9 ایجاد کرد.
    در واقع یعنی 8 تا تصادفی. چون آخری که تصادفی نمیشه.
    ممنون میشم راهنمایی بفرمایید.

  2. #2

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

    براي توليد اعداد تصادفي از تابع Rnd استفاده مي شود. تابع INt هم قسمت صحيح عدد تصادفي را برميگرداند.
    int(rnd()*10)

    براي اينكه اعدد تصادفي مشابه نشوند در فرم لود دستور Randomize() رو تايپ كن

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

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

    سلام دوست عزیز
    زحمت کشیده بودید.
    برای تولید اعداد تصادفی مشکلی ندارم.
    فقط برای غیر تکراری بودنشون با مشکل مواجه شدم.
    کدی که شما نوشتید، در vb6 جواب میداد.
    اما در vb.net دیگه جواب نمیده!

  4. #4

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

    یه آرایه از نوع integer بساز

    اولین عدد رو توی اولین خونه آرایه قرار بده ، دفعه بعد عدد ساخته شده رو با اعداد داخل آرایه مقایسه کن ، اگه تکراری بود که هیچی . اگر نبود تو خونه بعدی آرایه قرارش بده . این کار رو ادامه بده تا وقتی که هر 8 تا خونه آرایت پر بشه .

  5. #5
    کاربر دائمی آواتار tabatabaeefar
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    زمین خدا
    پست
    259

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

    حرف شما درسته
    من هم از همین روش استفاده کردم.
    اما فکر نمی کنید منطقش درست نیست؟
    اومدیمو این حلقه یک حلقه بی انتها شد!

  6. #6

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

    ینی چی ؟؟ چطوری بی انتها بشه ؟؟

  7. #7
    کاربر دائمی آواتار tabatabaeefar
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    زمین خدا
    پست
    259

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

    فرض کنید با توجه به قوانین احتمال هیچ وقت 8 تا خونمون پر نشه!
    یا بعد از یک مدت طولانی پر بشه
    یعنی احتمال نداره شما یک تاس رو 1000000000 با پرتاب کنی و هیچ وقت عدد 6 رو نیاد؟!

  8. #8
    کاربر دائمی
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    آستارا-تهران
    پست
    357

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

    با یک مثال برات توضیح میدم.
    یک آرایه از 1 تا 9 تعریف کن و محتویات آن ها را به ترتیب اعداد 1 تا 9 قرار بده.
    یه حلقه بنویس که a=9 تا 1 بره و در داخل حلقه کارهای زیر را انجام بده:
    {
    عددی تصادفی بین 1 تا a ایجاد کن فرض کن این عدد x=5 بشه.
    حالا محتویات خانه x رو با محتویات خانه a عوض کن.
    }
    پس از پایان حلقه شما یک آرایه با اعداد تصادفی غیر تکراری خواهید داشت.
    اینم کدش ولی با C#‎ نوشتم.توجه کن که تو C#‎ اندیس آرایه از صفر شروع میشه.

    //تعریف آرایه
    int[] ar = new int[10];
    //مقدار دهی اولیه آرایه
    for (int i = 0; i < 10; i++)
    {
    ar[i] = i;
    }
    //تولید اعداد تصادفی غیر تکراری
    Random rand = new Random();
    for (int a = 9; a > -1; a--)
    {
    int x = rand.Next(a);
    int temp;
    temp = ar[x];
    ar[x] = ar[a];
    ar[a] = temp;
    }

  9. #9
    کاربر دائمی آواتار tabatabaeefar
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    زمین خدا
    پست
    259

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

    خیلی ممنون.
    خیلی زحمت کشیدید.
    انشاالله بتونم از خجالتتون در بیام.
    راستی در vb.net هم ایندکس آرایه ها از صفر شروع میشه.

  10. #10
    کاربر دائمی آواتار tabatabaeefar
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    زمین خدا
    پست
    259

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

    روش آقا محسن خیلی جالب بود.
    اما آیا خود vb.net تابعی نداره که این کار رو انجام بده؟!

  11. #11
    کاربر دائمی
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    آستارا-تهران
    پست
    357

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

    اما آیا خود vb.net تابعی نداره که این کار رو انجام بده؟!
    با اینکه من vb.net کار نمی کنم ولی فکر نکنم چنین تابعی داشته باشه.

  12. #12

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

    سلام
    خسته نباشید . بچه ها خواهش میکنم کمکم کنید من عدد تصادفی می خوام از 1 تا 16 برای نشون دادن عکس فردا تحویل پروژه دارم این کد C#‎ من هستش ولی ارور می ده
    int[] pic = newint[16];
    publicvoid RandomPic()
    {
    for (int i = 0; i < 15; i++)
    {
    pic[i] = i;
    }
    Random rand = newRandom();
    for (int a = 15; a > -1; a--)
    {
    int x = rand.Next(a);
    int temp;
    temp = pic[x];
    pic[x] = pic[a];
    pic[a] = temp;
    }
    }




    privatevoid btn1_Click(object sender, EventArgs e)
    {
    btn1.Image = System.Drawing.
    Image.FromFile("c:\\Picure\\"+pic.ToString()+".jpg");
    }

  13. #13

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

    نقل قول نوشته شده توسط hamidniit مشاهده تاپیک
    سلام
    خسته نباشید . بچه ها خواهش میکنم کمکم کنید من عدد تصادفی می خوام از 1 تا 16 برای نشون دادن عکس فردا تحویل پروژه دارم این کد C#‎‎ من هستش ولی ارور می ده
    Random rand = new Random();
    int num = rand.Next(17);
    button2.Image = System.Drawing.Image.FromFile("C:\\Picure\\" + num.ToString() + ".jpg");


    موفق باشید.

  14. #14

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

    داداش این عدد تکراری می ده

  15. #15

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

    نقل قول نوشته شده توسط Peyman.Gh مشاهده تاپیک
    Random rand = new Random();
    int num = rand.Next(17);
    button2.Image = System.Drawing.Image.FromFile("C:\\Picure\\" + num.ToString() + ".jpg");


    موفق باشید.
    کمکم کنید من می خوام اعدادم تکراری نباشه

  16. #16

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

    کسی نیست؟

  17. #17

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

    بچه ها یکی منو کمک کنه من میخوام 16 عدد تصادفی و بدون تکراری می خوام که عکسامو نشون بدم فردا تحویل دارم اعدادم 1تا 16

  18. #18

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

    بچه ها کمک

  19. #19
    کاربر دائمی آواتار nima898
    تاریخ عضویت
    مهر 1388
    محل زندگی
    بجنورد
    سن
    44
    پست
    258

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

    نتایج تو آرایه b ذخیره میشه

    For i = 1 To 16
    a(i) = i
    Next
    For i = 1 To 16
    r = Int(Rnd() * (17 - i) + 1)
    b(i) = a(r)
    a(r) = 20
    f = True
    DoWhile f
    f = False
    For j = 1 To 16
    If a(j) = 20 Then
    For k = j To 15
    a(k) = a(k + 1)
    f = True
    Next
    EndIf
    Next
    Loop
    Next



    البته به نظر من روش پست شماره 8 بهتره (روش بر زدن)

  20. #20
    کاربر دائمی آواتار Hossis
    تاریخ عضویت
    آبان 1386
    محل زندگی
    بیرجند
    پست
    1,735

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

    برای این که تکراری نشوند، دستور Ranfomize رو قبل از rnd() تایپ کن

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

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