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

نام تاپیک: گراف جهت دار و نمايش ارتباط بين دو راس !

  1. #1

    گراف جهت دار و نمايش ارتباط بين دو راس !

    سلام

    من يه مدتي به صورت خودجوش تصميم گرفتم اصول زبان سي پلاس پلاس رو يكم ياد بگيرم بعد به صورت اصولي برم سراغ ويژال سي !

    تو اين سيستم خود جوش و جستجو اينترنتي به سوالي بر خوردم كه هر جور فكر مي كنم ، نمي دونم چجوري بايد تو زبان برنامه نويسي تعريفش كنم سرچم كه كردم دقيقا نفهميدم با چه چيزي مي شه اينو عملي كرد ...

    به عنوان مثال ما سه تا راس داريم به نام هاي a , b , c كه به صورت زير با هم ارتباط دارن :


    مي خوام برنامه طوري باشه كه از ما اسم دو تا راس رو بگيره مثلا مي زنيم a , b و اگه مسير وجود داشت يه كاراكتر مثل y چاپ كنه و اگرم نداشت مثلا بزنه n ! خوب من اگه اشتباه نكنم براي ساخت همچين چيزي بايد يه ماتريس سه در سه تعريف كنيم به صورت زير :

    a b c
    a 0 1 1
    b 0 0 1
    c 0 0 0

    خوب باز اشتباه نكنم اين ماتريس رو بايد تو يه آرايه تعريف كنيم ، و بعدش دو تا ورودي بگيريم كه اسم راس هاست بعد بايد يه شرط تعريف كنيم كه مثلا اگه ورودي بود a و b اگر برابر يك شد يعني يال وجود داره و اگه برابر صفر بود يعني يالي وجود نداره ...تو سرچ هايي كه كرده بودم اينا رو گفته بودن .....

    حالا من كلا يه سوال دارم كه اينو مي شه با استفاده از آرايه درست كرد يا من كلا سركارم اينقدر دارم با آرايه رو اين فكر مي كنم ؟!؟
    يه سوال ديگه هم دارم برا اينكه واقعا بتونم اين زبان رو ياد بگيرم چه كتابي رو پيشنهاد مي دين ؟!؟

    با تشكر

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

    نقل قول: گراف جهت دار و نمايش ارتباط بين دو راس !

    براي اينگونه كار ها و يا بصورت كلي از هر طريقي ميشه وارد شد فقط بايد بررسي كنيد كه هزينه كدام به صرفه تره.
    بهترين و كاملترين راه استفاده از ساختارها براي مشخص كردن لينكها و همچنين اشاره گر به اينگونه ساختارهاست.
     
    typedef struct graph_
    {
    bool scaned;
    void *top_link;
    void *right_link;
    void *left_link;
    }Graph;

    ولي در مورد اينكه زبان سي يا هر زبان ديگر را ياد بگيريد بهترين راه استفاده از توابع مشابه يعني اينكه شما قبلا هر زباني را كه باهاش كار ميكرديد دنبال كلمات كليدي مشابه داخل زبان برنامه نويسي جديد بگرديد.

  3. #3

    نقل قول: گراف جهت دار و نمايش ارتباط بين دو راس !

    خوب اين چيزا كه شما نوشتي من نفهميدم چيه به چيه ! هنوز سوادم به اون حد نرسيده ظاهرا حالا با استفاده از همون آرايه ها بالاخره مي شه اينو كاريش كرد يا نه ؟!؟ من يه برنامه ديدم كه با استفاده از آرايه ها براي هر سطر و ستون ماتريس يه عدد مي گرفت و بزرگترين عدد رو توش پيدا مي كرد ، برا همين فكر كردم برا اين مسئله هم مي شه از اين آرايه ها استفاده كرد ...

    در ضمن من قبلا زبان خاصي رو كار نمي كردم فقط يكم PHP بلدم در حدي كه بتونم كدهاي آماده رو به دلخواه تغيير بدم ....

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

    نقل قول: گراف جهت دار و نمايش ارتباط بين دو راس !

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

    #include <iostream.h>
    typedef struct st_
    {
    char *Top;
    char *Left;
    char *Right;
    bool Active;
    } Graph;
    Graph *yal1, *yal2;
    int c = 0;
    void FindSameYal( Graph *Next )
    {
    if( Next == NULL ) return;
    if( Next == yal1 || Next == yal2 ) C++‎‎‎;
    if(c==3){
    cput<<"\n"<<"Finded.";
    c = 0;
    }
    if( !Next->Active ){
    Next->Active = false
    FindSameYal( Next->Left );
    FindSameYal( Next->Right );
    FindSameYal( Next->Top );
    Next->Active = false
    }
    }
    int main()
    {
    Graph graph={0};

    // cin >> yal1>>yal2;
    // در اين محل بايد محتواي ساختار را پر كنيد البه بصورت پويا و همچنين ارتباط آنها با يكديگر

    FindSameYal( &graph )
    return 0;
    }

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

    نقل قول: گراف جهت دار و نمايش ارتباط بين دو راس !

    بپیاده کردن این برنامه با آرایه سخت تز از لیست پیوندی میشه.
    آخرین ویرایش به وسیله ali zi zeperto : چهارشنبه 29 مهر 1388 در 11:26 صبح

  6. #6

    نقل قول: گراف جهت دار و نمايش ارتباط بين دو راس !

    ali zi zeperto پس يعني در كل با آرايه هم مي شه ! فكر كنم اون ديگه كار من نباشه !

    tdkhakpur دوست عزيز از كمك شما بسيار سپاس گذارم .... متغيرهاي پويا رو اينطوري تعريف مي كنن ديگه :
    Top = new int[0,1,1];
    ببخشيد من چون مرجع درست و حسابي نداشتم خيلي قروقاطي مباحث رو نصفه نيمه بلدم و وسطاش خيلي چيزا بايد ياد مي گرفتم كه نگرفتم ... اگه براتون امكان داره يه مرجع يا سايت مناسبم براي يادگيري اصولي به من معرفي كنيد ...
    آخرین ویرایش به وسیله J A V I D : چهارشنبه 29 مهر 1388 در 14:09 عصر

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

    نقل قول: گراف جهت دار و نمايش ارتباط بين دو راس !

    ميتوانيد به اين http://richardbowles.tripod.com/cpp/...t/linklist.htmسايت هم سر بزنيد خيلي با ارزشه ولي براي اينكه واقعا مطلب را بهتر متوجه بشيد كتاب مربوط به ساختمان داده ها و همچنين نحوه استفاده از توابع بازگشتي را كه معمولا همه كتابها در موردش يك فصل را اختصاص ميدهند مطالعه كنيد.

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

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