تبليغات
تبلیغات در دانشجو کلوب محک :: موسسه خيريه حمايت از کودکان مبتلا به سرطان ::
جستجوگر انجمن.براي جستجوي مطالب دانشجو کلوپ مي توانيد استفاده کنيد 
برای بروز رسانی تاپیک کلیک کنید
 
امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5

الگوریتم کوله پشتی به روش حریصانه به زبان c#

نویسنده پیام
  • navid
    آفلاین
  • مدیر بازنشسته
    **
  • ارسال‌ها: 1,344
  • تاریخ عضویت: مرداد ۱۳۹۰
  • اعتبار: 85
  • تحصیلات:لیسانس
  • علایق:برنامه نویسی
  • محل سکونت:Istanbul, Turkey
  • سپاس ها 1152
    سپاس شده 3031 بار در 1139 ارسال
  • امتیاز کاربر: 27,279$
  • حالت من:حالت من
ارسال: #1
الگوریتم کوله پشتی به روش حریصانه به زبان c#

کد:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication6
{
    class Program
    {
        /// Cite http://daneshju-club.com if you want to use the source code
        ///writen by navid
        static int W;
        static decimal[] x;
        static decimal[] p;
        static decimal[] w;
        static void Main(string[] args)
        {
            int n;
            Console.WriteLine("enter number of elements:");
            n = Convert.ToInt32(Console.ReadLine());
            p = new decimal[50];
            w = new decimal[50];
            int i;
            Console.WriteLine("enter the weight of elements:");
            for (i = 0; i < n; i++)
                w[i] = Convert.ToInt16(Console.ReadLine());
            Console.WriteLine("enter the value of elements:");
            for (i = 0; i < n; i++)
                p[i] = Convert.ToInt16(Console.ReadLine());
            Console.WriteLine("capacity of knapsock:");
            W = Convert.ToInt16(Console.ReadLine());
            Sort(p, w, n);
        }
        static void Sort(decimal[] p, decimal[] w, int n)
        {

            int i, j;
            decimal temp;
            for (i = 0; i < n; i++)
                for (j = n - 1; j > i; j--)
                {
                    if (p[j - 1] / w[j - 1] < p[j] / w[j])
                    {
                        temp = p[j - 1];
                        p[j - 1] = p[j];
                        p[j] = temp;
                        temp = w[j - 1];
                        w[j - 1] = w[j];
                        w[j] = temp;
                    }
                }
            knapsack(p, w, n);
        }
        static void knapsack(decimal[] p, decimal[] w, int n)
        {
            int i, flag = 1;
            decimal cu, sum;

            x = new decimal[n];
            for (i = 0; i < n; i++)
                x[i] = 0;
            cu = W; 
            for (i = 0; (i < n) && (flag == 1); i++)
            {
                if (w[i] > cu)
                    flag = 0;
                else
                {
                    x[i] = 1;
                    cu = cu - w[i];
                    Console.WriteLine("the item with weight " + w[i] + " and value " + p[i] + " push to knapsack.");
                }
            }
            if (flag == 0)
                if (i <= n)
                {
                    Console.WriteLine(cu + "/" + w[i - 1] + " item with weight " + w[i - 1] + " and value " + p[i - 1] + " push to knapsack.");
                    x[i - 1] = cu / w[i - 1];
                }
            Console.WriteLine("the value of the knapsack:  ");
            sum = 0;
            for (i = 0; i < n; i++)
                sum += x[i] * p[i];
            Console.WriteLine(sum);
            Console.Read();

        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89



مطالب مشابه ...






تن آدمی شریف است به جیب آدمیت و همین لباس زیباست نشان آدمیت !

(آخرین ویرایش در این ارسال: ۱-۸-۱۳۹۰ ۱۲:۲۹ عصر، توسط navid.)
۲۵-۷-۱۳۹۰ ۰۵:۲۵ عصر
جستجو یافتن همه ارسال های کاربر اهدا امتیازاهدای امتیاز به کاربر پاسخ پاسخ با نقل قول
 سپاس شده توسط ♔ αϻἰг κнаη ♔ ، senior engineer ، ღمژگانღ

برای بروز رسانی تاپیک کلیک کنید


مطالب مشابه ...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  الگوریتم فلوید به زبان #c navid 1 2,431 ۲۹-۹-۱۳۹۴ ۱۲:۴۴ صبح
آخرین ارسال: mahan_00
  برنامه نویسی قدم به قدم monoDroid به زبان c.# c0mmander 8 5,007 ۲۷-۹-۱۳۹۳ ۰۳:۳۶ عصر
آخرین ارسال: c0mmander
  مار پیچ یا Sprial به زبان سی شارپ #C ♔ αϻἰг κнаη ♔ 0 294 ۲۳-۴-۱۳۹۲ ۰۴:۰۶ عصر
آخرین ارسال: ♔ αϻἰг κнаη ♔
  پروژه مدیریت ویدئو کلوپ به زبان سی شارپ ♔ αϻἰг κнаη ♔ 0 1,957 ۹-۸-۱۳۹۰ ۰۸:۲۲ عصر
آخرین ارسال: ♔ αϻἰг κнаη ♔
  الگوریتم دیکسترا به زبان c# navid 0 2,257 ۲۵-۷-۱۳۹۰ ۰۵:۴۲ عصر
آخرین ارسال: navid
  الگوریتم کوله پشتی پویا به زبان #c navid 0 1,345 ۲۴-۷-۱۳۹۰ ۱۱:۵۹ عصر
آخرین ارسال: navid

پرش به انجمن:

کاربرانِ درحال بازدید از این موضوع: 1 مهمان