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

نام تاپیک: تابع Random

  1. #1

    Arrow تابع Random

    سلام
    توی زبان C؛چطور میتونم از تابع random استفاده کنم؟یه بار با این تابع یه برنامه نوشتم که توی هربار اجرا فقط عدد 346 رو انتخاب می کرد!
    میخواهم عددی که انتخاب میکنه یا 1 باشه یا 2؟
    در ضمن چطور میتونم بهش بگم از بازی مثلا 0 تا 80 فقط عدد انتخاب کن؟

  2. #2

    نقل قول: تابع Random

    برای تولید اعداد تصادفی که هر بار مقدار متفاوتی داشته باشه و عدد 1 یا2 باشه میتونید کد زیر رو بنویسید:
    #include<ctime>
    #include<cstdlib>
    void main()
    {
    int x;
    srand(time(0));
    x=1+rand()%2;
    }


    با هر بار اجرا x مقدار 1 یا 2 رو میگیره

  3. #3
    کاربر دائمی آواتار clover
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    اصفهان - اراک
    پست
    646

    نقل قول: تابع Random

    بهتر هست که از تابع random استفاده نکنید (به دلیل پایین آمدن قابلیت حمل) و به جای اون از rand (مثال بالا) که با استاندارد ANSI C سازگار هست استفاده کنید.
    این هم نمونه برای random با بازه ی 1 تا 2
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    #include <time.h>

    void main()
    {
    int x;
    clrscr();
    randomize();
    for (int i = 0; i < 5; i++)
    {
    x = random(2) + 1;
    printf("%d\n", x);
    }
    getch();

    }

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    اصفهان
    پست
    51

    نقل قول: تابع Random

    میتونی اول تابع main از عبارت randomize() استفاده کنی در این صورت در هر بار اجرا عدد متفاوت باز میگرداند

  5. #5
    کاربر جدید آواتار m.@.@.i
    تاریخ عضویت
    دی 1388
    محل زندگی
    تهران
    پست
    3

    نقل قول: تابع Random

    برای اینکه تابع rand اعداد تکراری تولید نکند باید توسط تابع srand عددی unsigned از ورودی بگیریم بدین ترتیب با هر بار اجرا randعدد جدیدی تولید میکند.برای تولید عدد تصادفی بین بازه a تا b باید از فرمول زیر استفاده کرد:

    [a+rand()%[b-a+1
    مثلا برای داشتن عدد تصادفی در بازه 10 تا 80 باید نوشت:
    10+rand()%71

    برنامه زیر 10 عدد تصادفی در بازه 1 تا 6 تولید میکند:
    #include<iostream.h>
    #include<conio.h>
    #include<stdlib.h>
    int main()
    {
    unsigned number;
    cout<<"enter number:";
    cin>>number;
    srand(number);
    for(int i=0;i<10;i++){
    cout<<1+rand()%6;
    cout<<endl;
    }
    getch();
    return 0;
    }
    آخرین ویرایش به وسیله m.@.@.i : سه شنبه 15 دی 1388 در 20:19 عصر

  6. #6
    کاربر جدید
    تاریخ عضویت
    دی 1388
    محل زندگی
    یه گوشه ای از زمین خدا
    پست
    20

    نقل قول: تابع Random

    سلام.چرا با فرمول بندی؟
    بهتره منطقشو بدونیم.وقتی شما اعداد رو به 71 تقسیم میکنی باقیمونده ها بین 0 تا 70 هستند حالا 10 تا اضافه میکنیم تا بشن بین 10 تا 80.پس فقط باید این دو تا عدد رو درست انتخاب کنیم.
    اینکه هربار کاربر عدد رو وارد کنه اصلا کارامد نیست چون اغلب تو برنامه ها اجازه همچین کاری رو نداریم.بهتره از همون time که دوستمون گفتن استفاده کنیم که خودش این عدد رو تولید میکنه.
    فکر میکنم ورودی srand اینتتیجر نیست بلکه unsigned هست که البته تو کدتون اصلاحش کردین.

  7. #7

    نقل قول: تابع Random

    باسلام
    میخواستم اگه میتونید کد تابع rand و srand زو بزام بزارید.
    کد خود تابع رو میخوام نه استفاده از اونو ممنون میشم.خیلی فوریه
    تو کتابخانه stdlib هم سرچ کردم چیزی دستگیرم نشد

  8. #8

    ساخت جدول با زبان سی یا سی ++

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

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

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