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

نام تاپیک: نوشتن زیر مجموعه با تابع بازگشتی

  1. #1

    نوشتن زیر مجموعه با تابع بازگشتی

    دوستان کسی در مورد نوشتن همه ی زیر مجموعه های یه مجموعه با استفاده از تابع بازگشتی در زبان C میتونه توضیحی واسم بده؟؟ممنون

  2. #2
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران سرای من است
    پست
    2,655

    نقل قول: نوشتن زیر مجموعه با تابع بازگشتی


    #include <iostream.h>
    #include <conio.h>
    #include <stdio.h>
    #define MaxNums 6
    #define MaxCalcNums 3
    typedef struct MySt_
    {
    int Nums [MaxNums];
    int ResultNums [MaxNums];
    int cResult ;
    bool Flag [MaxNums];
    } Nums ;
    void CalcNums ( int index, Nums nums )
    {
    if( index == MaxNums || nums.Flag[index] ) return;
    //nums.Flag[index] = true;
    nums.ResultNums [ nums.cResult ] = nums.Nums[index];
    nums.cResult ++;
    if( nums.cResult == MaxCalcNums )
    {
    cout<<"\n------------\n";
    for( int i=0; i<nums.cResult ; i++ )
    cout<<nums.ResultNums [i]<<",";
    cout<<" press key..";
    if( getch()==27 ) return;
    return;
    }
    for( int i=0; i<MaxNums ; i++ )
    if( i!=index )
    CalcNums ( i, nums );
    }
    int main()
    {
    Nums nums={0};
    clrscr();
    nums.Nums [0] = 2; nums.Nums [1] = 5; nums.Nums [2] = 3;
    nums.Nums [3] = 4; nums.Nums [4] = 6; nums.Nums [5] = 1;
    for( int i=0; i<MaxNums ; i++ )
    CalcNums ( i, nums );
    return 0;
    }

  3. #3
    کاربر دائمی آواتار khafan_bat
    تاریخ عضویت
    دی 1387
    محل زندگی
    منظومه ی شمسی-کره زمین-قاره ی آسیا-ایران-گیلان-لاهیجان
    سن
    34
    پست
    111

    نقل قول: نوشتن زیر مجموعه با تابع بازگشتی

    بی زحمت یه توضیح در باره ی الگوریتم این کد میدی ؟

  4. #4
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران سرای من است
    پست
    2,655

    نقل قول: نوشتن زیر مجموعه با تابع بازگشتی

    من اين كدها رو خيلي وقته نوشتم و آماده بود كه براي شما ارسال كردم.
    همانطور كه مشا هم ميدانيد توضيح نحوه اجراي يك الگوريتم اون هم بازگشتي بسيار سخته ولي اين كار با بررسي و خطا انجام ميشه همه اعداد را يك به يك با ساير اعداد در يك سري قرار ميدهد و flag براي بررسي اينه كه عدد مورد پردازش قرار گرفته است تا عدد بعدي مد نظر قرار گيرد.

  5. #5

    نقل قول: نوشتن زیر مجموعه با تابع بازگشتی

    با سلام.

    این فقط یک کم تو پرینتش مشکل داره:


    void func(int*aray,int n)
    {
    if(n==0)
    cout<<aray[n];

    else
    {
    cout<<aray[n]<<" , "<<aray[n]<<" * { ";
    func(n-1);
    cout<<" } ";

    }


    int main()
    {
    int aray[3]={1,2,3};

    func(aray,3-1);

    return 0 ;
    }

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

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