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

نام تاپیک: تخصیص لیست های پیوندی به آرایه ای از لیست های پیوندی

  1. #1
    کاربر دائمی آواتار Yama12
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    قم
    سن
    37
    پست
    206

    تخصیص لیست های پیوندی به آرایه ای از لیست های پیوندی

    سلام من میخواهم لیست پیوندی path رو که در هر حلقه یک مقدار متفاوت را مثل 2,13,3,5 دارد را به یک خانه از آرایه ای از لیست های پیوندی به نام AllPathes تخصیص بدهم مثل کد زیر، اما در انتها کل آرایه Allpathes مقدار آخرین Path رو میگیرن. q هم که شمارنده حلقه هست. نحوه تخصیص صحیح اینا چجوری باید باشه؟
    مرسی

    AllPathes[q] = Path;


  2. #2
    کاربر دائمی آواتار MehdiElexal
    تاریخ عضویت
    آذر 1388
    محل زندگی
    پشت میز
    پست
    519

    نقل قول: تخصیص لیست های پیوندی به آرایه ای از لیست های پیوندی

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

  3. #3
    کاربر دائمی آواتار Yama12
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    قم
    سن
    37
    پست
    206

    نقل قول: تخصیص لیست های پیوندی به آرایه ای از لیست های پیوندی

    path هر بار داخل حلقه مقدار جدیدی میگیره

    LinkedList<int> Path = new LinkedList<int>();

    for (int q = 0; q < int.Parse(txtItteration.Text); q++)
    {
    path هر بار تغییر می کند برای مثال:
    Path.AddLast(q);

    AllPathes[q] = Path;

    }


    اما مقدار آخرین path برای تمام خانه های allpathes ذخیره می شود.

  4. #4

    نقل قول: تخصیص لیست های پیوندی به آرایه ای از لیست های پیوندی

    نقل قول نوشته شده توسط Yama12 مشاهده تاپیک
    path هر بار داخل حلقه مقدار جدیدی میگیره

    LinkedList<int> Path = new LinkedList<int>();

    for (int q = 0; q < int.Parse(txtItteration.Text); q++)
    {
    path هر بار تغییر می کند برای مثال:
    Path.AddLast(q);

    AllPathes[q] = Path;

    }


    اما مقدار آخرین path برای تمام خانه های allpathes ذخیره می شود.
    کد بالا یک لیست پیوندی ایجاد میکنه به نام path بعد در هربار اجرای حلقه به لیست پیوندی عنصری با مقدار q اضافه میشه
    در انتها هم خانه ی q ام AllPathes با لیست پیوندی شما مقداردهی میشه.
    مشکل شما اینه که تمام خانه های AllPathes رو دارید با لیست پیوندی path مقداردهی میکنید.
    Path آدرس خانه اول لیست پیوندی شماست و در تمام حلقه مقدار ثابتی داره.
    اگر میخواهید مقادیر رو در خانه های Allpathes قرار دهید چه نیازی است که لیست پیوندی Path استفاده کنید ؟
    اگر ممکنه توضیح بدید دقیقاً میخواهید چه کاری انجام بدهید.

  5. #5
    کاربر دائمی آواتار Yama12
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    قم
    سن
    37
    پست
    206

    نقل قول: تخصیص لیست های پیوندی به آرایه ای از لیست های پیوندی

    این بخشی از کد اصلی هست
    مشکل من در خط 140 هست.
    مثلا خروجی بصورت زیر خواهد بود
    allpathes[0]=23456
    allpathes[1]=23456
    allpathes[2]=23456

    در صورتی که مقدار آخرین path=23456 بوده است
    آخرین ویرایش به وسیله Yama12 : پنج شنبه 28 اسفند 1393 در 12:58 عصر دلیل: حذف کد

  6. #6

    نقل قول: تخصیص لیست های پیوندی به آرایه ای از لیست های پیوندی

    اگر بعد از خط 38 کد زیر رو وارد کنید مشکلتون حل میشه.


    Path = new LinkedList<int>();


    در هر مرحله یک Path جدید ایجاد میکنه و در نهایت تمام Pathها در AllPathes قرار میگیرند.
    اگه ممکنه توضیحاتی راجع به برنامتون بدید به نظرم جالب اومد.

  7. #7
    کاربر دائمی آواتار Yama12
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    قم
    سن
    37
    پست
    206

    نقل قول: تخصیص لیست های پیوندی به آرایه ای از لیست های پیوندی

    نقل قول نوشته شده توسط reza_noei مشاهده تاپیک
    اگر بعد از خط 38 کد زیر رو وارد کنید مشکلتون حل میشه.


    Path = new LinkedList<int>();


    در هر مرحله یک Path جدید ایجاد میکنه و در نهایت تمام Pathها در AllPathes قرار میگیرند.
    اگه ممکنه توضیحاتی راجع به برنامتون بدید به نظرم جالب اومد.
    سپاس از راهنمایی. درست شد.
    قسمتی از حل مسئله فروشنده دوره گرد هست

  8. #8
    کاربر دائمی آواتار Yama12
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    قم
    سن
    37
    پست
    206

    نقل قول: تخصیص لیست های پیوندی به آرایه ای از لیست های پیوندی

    سلام مرسی بابت جواب قبلی
    من در ادامه همون برنامه به مشکل مشابهی برخوردم
    در کد زیر مقدار path را در خط 33 به newRout می دهم. اما از این به بعد زمانی که newRout تغییر می کند path نیز مثل newRout تغییر میکند!!



    NotPath=new LinkedList<int>();// include Wi
    newRout = new LinkedList<int>();// include Vi
    LinkedListNode<int> newNode;
    for (int k = 0; k < ObjVertex.Count; k++)
    {
    if (ObjVertex[k].Occupation == false)
    { NotPath.AddLast(k); }
    }
    double value=0;
    double bestvalue = 0;
    int bestBavlueIndex = 0;
    bool Flag = false;// this flag determine whethere we have found new Sw for exchange or not

    for (int i = 1; i < Path.Count-1; i++)
    {
    bestvalue = ObjVertex[NotPath.ElementAt<int>(0)].Score - ObjVertex[Path.ElementAt<int>(i)].Score;//best value=sw(0)-sv(i)
    Flag = false;

    for (int j = 0; j < NotPath.Count; j++)
    {
    value = ObjVertex[NotPath.ElementAt<int>(j)].Score - ObjVertex[Path.ElementAt<int>(i)].Score; //value= Sw-Sv

    if (value > 0 && value > bestvalue)
    {
    bestvalue = value;
    bestBavlueIndex = j;// index of Sw which has the best value
    Flag = true;
    }
    }// of for j
    if (Flag == true)// if we have found a Sw with Value > bestvalue
    {
    //check the total Time of path befor exchange
    newRout = Path;//#######################
    newNode = newRout.Find(newRout.ElementAt<int>(i));// V vertex from path to be exchanged with W from notpath
    newRout.AddAfter(newNode, NotPath.ElementAt<int>(bestBavlueIndex));//adding the W after V
    newRout.Remove(newNode);// removing V
    if (CalculateTotalTime(newRout) < TMAX)
    {
    // changing the Occupation property for W and V befor exchange
    ObjVertex[Path.ElementAt<int>(i)].Occupation = false;// changing V(i)
    ObjVertex[NotPath.ElementAt<int>(bestBavlueIndex)].Occupation = true;// changing w(bestvalue)
    //exchanging the V and W in main Path
    // Path = newRout;//####################

    }
    }
    else
    {

    }


    }// of for i

تاپیک های مشابه

  1. آرایه ها یا لیست های چند بعدی
    نوشته شده توسط mhofayyaz در بخش C#‎‎
    پاسخ: 1
    آخرین پست: سه شنبه 20 اردیبهشت 1390, 00:08 صبح
  2. سوال: مقداردهی اولیه به کلاس های موجود در آرایه
    نوشته شده توسط پرستوجان در بخش C#‎‎
    پاسخ: 4
    آخرین پست: دوشنبه 08 شهریور 1389, 13:07 عصر
  3. حرفه ای: انداختن فیلد های یک تیبل درون آرایه و یا لیست باکس
    نوشته شده توسط arefba در بخش C#‎‎
    پاسخ: 8
    آخرین پست: دوشنبه 01 شهریور 1389, 23:12 عصر
  4. تعریف آرایه ای از خانه های رشته ای
    نوشته شده توسط hrbaban در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: جمعه 20 آذر 1388, 19:49 عصر
  5. سوال: بستن برنامه های در حال اجرایی که در لیست پروسس های تسک منیجر نیستند
    نوشته شده توسط 0armin0 در بخش امنیت در نرم افزار و برنامه نویسی
    پاسخ: 14
    آخرین پست: پنج شنبه 24 اردیبهشت 1388, 19:22 عصر

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

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