تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 2 اولاول 12
نمايش نتايج 11 به 16 از 16

نام تاپيک: کمک برای ایجاد درخت باینری

  1. #11
    داره خودمونی میشه mohsen_7's Avatar
    تاريخ عضويت
    Jun 2007
    پست ها
    68

    پيش فرض

    شما کاری که تا الان کردی رو اینجا بذار تا بهت بگم کجای کارت ایراد داره. چیز خاصی نیست مطمئن باش حل میشه.

    اصلا سخت نگیر، برنامه نویسی همینه. من خودم شده چند روز واسه دو سه خط کد الکی دور خودم چرخیدم تا آخرش راه حل رو پیدا کردم.

  2. این کاربر از mohsen_7 بخاطر این مطلب مفید تشکر کرده است


  3. #12
    کـاربـر بـاسـابـقـه saeed_136915's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    The Land of Skyrim
    پست ها
    2,715

    پيش فرض

    سلام آقا اگه امکانش هست اینو ببینین اشکالش کجییه

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    #include <iostream>
    #include <conio.h>
    #include <stdio.h>
    #include <stdlib.h>
    #define NULL 0L
    using namespace std;

    int pow(int x,int y)
    {
    int i=0,result=1;
    for(i=y;i>0;i--)
    result=result*x;
    return result;
    }
    int calclevel(int MAX)
    {
    int i=0,level=0;
    for(i=MAX;i>0;i--)
    {
    level++;
    i=((i-1)/2);
    }
    return level;
    }
    struct node {
    int data;
    node *left;
    node *right;
    };

    void link(node* parent,node* child,int j)
    {
    if(j%2!=0)
    parent->left=child;
    else
    parent->right=child;
    }

    node* create()
    {
    node *newnode=new node;
    return newnode;
    }

    void print(node* ptr)
    {
    int j=0;
    while(ptr->data!=0)
    {
    for(j=0;j<=pow(2,j);j++)
    {
    cout<<ptr->data<<"\t";
    if(j%2==0)
    print(ptr->left);
    else
    print(ptr->right);
    }
    cout<<"\n";
    }
    }



    int main()
    {
    int i=0,j=0,k=0,n=0,flag=0;
    node* ptr;
    for(i=1;flag!=1;i++)
    {
    if(i==1)
    {
    cout<<"Insert Root : ";
    node *root=new node;
    cin>>root->data;
    ptr=root;
    for(j=1;j<=pow(2,i);j++)
    {
    cout<<"Insert Level "<<i+1<<" : ";
    cin>>n;
    if(n==0)
    {
    flag=1;
    break;
    }
    node *child=new node;
    link(root,child,j);
    }
    }
    else
    {
    node *root=new node;
    for(j=1;j<=pow(2,i);j++)
    {
    cout<<"Insert Level "<<i+1<<" : ";
    cin>>n;
    if(n==0)
    {
    flag=1;
    break;
    }
    node *child=new node;
    link(root,child,j);
    }
    }
    }
    print(ptr);
    getch();
    return 0;

  4. #13
    داره خودمونی میشه mohsen_7's Avatar
    تاريخ عضويت
    Jun 2007
    پست ها
    68

    پيش فرض

    کاش دقیقا توضیح میدادی که میخوای چیکار کنی. چیزی که خودم فهمیدم ظاهرا شما میخوای یک درخت دودویی کامل که هر سطحش تا آخر پر شده باشه رو تولید کنی. البته از کدی که نوشتی اینطور به نظر میرسه. برای اینکه اینکارو بکنی بهترین راهی که ذهنم رسید استفاده از یک صفه. شما که درختا رو خوندید صد در صد صفها رو هم باید خونده باشید. من سعی میکنم کدی که نوشتی رو با کمترین تغییر ممکن تبدیل به چیزی که میخوای بکنم. تا چند دقیقه دیگه واست آپ میکنم.

  5. این کاربر از mohsen_7 بخاطر این مطلب مفید تشکر کرده است


  6. #14
    داره خودمونی میشه mohsen_7's Avatar
    تاريخ عضويت
    Jun 2007
    پست ها
    68

    پيش فرض

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

  7. این کاربر از mohsen_7 بخاطر این مطلب مفید تشکر کرده است


  8. #15
    کـاربـر بـاسـابـقـه saeed_136915's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    The Land of Skyrim
    پست ها
    2,715

    پيش فرض

    بابا دستت درد نکنه. خیلی آقایی ممنون

  9. این کاربر از saeed_136915 بخاطر این مطلب مفید تشکر کرده است


  10. #16
    داره خودمونی میشه mohsen_7's Avatar
    تاريخ عضويت
    Jun 2007
    پست ها
    68

    پيش فرض

    خواهش میکنم سعید خان.
    میشد برای کنترل خاتمه دریافت اطلاعات از همون فلگ استفاده کرد. منتها به نظرم این راه در این مسئله مناسبتر بود. یکی دو تا تابع هم اضافست که یادم رفت پاک کنم. مثل تابع link.
    به هر حال امیدوارم که به دردت خورده باشه. موفق باشی

  11. این کاربر از mohsen_7 بخاطر این مطلب مفید تشکر کرده است


صفحه 2 از 2 اولاول 12

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •