Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 19.12.2017
Сообщений: 3
.NET 4.x

Задача на нахождение максимальной стоимости

01.01.2018, 22:58. Показов 1420. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите, пожалуйста, какой алгоритм использовать для решения задания и как его оформить (С#). Требуется определить максимальную стоимость вагона, который можно загрузить контейнерами разной массы и стоимостью, причем масса вагона не должна превышать 15 тонн. Входным данными являются N контейнеров с заданной массой и стоимость, где N>=10.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.01.2018, 22:58
Ответы с готовыми решениями:

Задача на нахождение стоимости.
Составить программу определения стоимости разговора по телефону с учетом скидки 20%, предоставляемой по субботам и воскресеньям.

Задача на нахождение максимальной суммы
Подскажите алгоритм решения задачи. Проходит очередной финал Startup, поэтому необходимо заказать пиццу для финалистов, участвующих в...

Задача "Вывести маршрут максимальной стоимости"
Здравствуйте, помогите пожалуйста с решением задачи :) В левом верхнем углу прямоугольной таблицы размером N×M находится...

4
 Аватар для worldown
189 / 177 / 111
Регистрация: 22.06.2009
Сообщений: 533
02.01.2018, 18:22
C#
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Csh_console_tasks {
    class Bag : IComparable {
        public string Indexes { get; set; }
        public int Weight { get; set; }
        public int Cost { get; set; }
        public Bag(int w, int c, string index) {
            Weight = w;
            Cost = c;
            Indexes = index;
        }
 
        public override string ToString() {
            return "Weight: " + Weight + "\t| Cost: " + Cost + "\t|Bag nom: " + Indexes;
        }
 
        public int CompareTo(object obj) {
            if (obj == null) return 1;
            return ((Bag)obj).Cost.CompareTo(Cost);
        }
 
        public static Bag operator +(Bag a, Bag b) {
            string nom = a.Indexes + " + " + b.Indexes;
            return new Bag(a.Weight + b.Weight, a.Cost + b.Cost, nom);
        }
 
    }
    class thread2168190 {
 
        static Bag GetMaxCost(List<Bag> bag) {
            List<Bag> sum = new List<Bag>();
            List<Bag> bags = bag.Where(x => x.Weight <= 15).ToList();
            //all variants of combinations
            for (int j = 0; j < bags.Count; j++) {
                sum.Add(bags[j]);
                for (int x = 0; x < bags.Count; x++) {
                    if (x != j) {
                        if ((bags[x] + sum[j]).Weight <= 15) {
                            sum[j] += bags[x];
                        }
                    }
                }
            }
            sum.Sort();
            return sum[0];
        }
 
        static void Main(string[] args) {
            List<Bag> bags = new List<Bag>();
            //Generate bags;
            int N = Convert.ToInt32(Console.ReadLine());
            if (N < 10)
                return;
            for (int i = 0; i < N; i++) {
                string weightCost = Console.ReadLine();
                bags.Add(new Bag(Convert.ToInt32(weightCost.Split(' ')[0]),
                    Convert.ToInt32(weightCost.Split(' ')[1]),
                    Convert.ToString(i)));
            }
            Console.WriteLine(GetMaxCost(bags).Cost);
 
 
        }
 
    }
}
0
 Аватар для Bargos
12 / 12 / 3
Регистрация: 15.11.2017
Сообщений: 37
03.01.2018, 07:16
C#
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
using System;
 
namespace Train
{
    struct Container
    {
        public int m;            // Масса контейнера
        public int price;        // Стоимость контейнера
        public int mprice;       // Ценность единицы массы контейнера
    }
 
    class Decision
    {
        static void Main()
        {
            int count;
            Container temp; // временный объект для сортировки
 
            // Получение информации от пользователя
            Console.WriteLine("Напишите количество контейнеров");   
            count = int.Parse(Console.ReadLine());
            Container[] arr = new Container[count];
 
            for (int i = 0; i < count; i++)
            {
                Console.WriteLine("Масса контейнера - {0} т", i+1);
                arr[i].m = int.Parse(Console.ReadLine());
                Console.WriteLine("Цена контейнера - {0} тысяч рублей", i+1);
                arr[i].price = int.Parse(Console.ReadLine());
                while (arr[i].price < 10)
                {
                    Console.WriteLine("Стоимость контейнера не может быть меньше 10 тысяч рублей. Повторите ввод");
                    arr[i].price = int.Parse(Console.ReadLine());
                }
                arr[i].mprice = arr[i].price / arr[i].m;
            }
            //
 
            // Сортировка контейнеров по наибольшей ценности 1 тонны
            for (int i = 0; i < count; i++)
            {
                for (int j = i; j < count; j++)
                {
                    if (arr[i].mprice < arr[j].mprice)
                    {
                        temp = arr[j];
                        arr[j] = arr[i];
                        arr[i] = temp;
                    }
                }
            }
            //
 
            // Вывод отсортированного списка контейнеров
            Console.WriteLine("\nДля погрузки подготовлены контейнеры:\n");
            for (int i = 0; i < count; i++)
            {
                Console.WriteLine("Контейнер {0}", i + 1);
                Console.WriteLine("Масса - {0} т", arr[i].m);
                Console.WriteLine("Стоимость - {0} тысяч рублей\n", arr[i].price);
            }
            Console.WriteLine("");
            //
 
            // Погрузка контейнеров
            int mVagon = 0, sPrice = 0, iterator = 0;
            while ((mVagon + arr[iterator].m) < 15 & iterator < count)
            {
                mVagon += arr[iterator].m;
                sPrice += arr[iterator].price;
                iterator++;
            }
            //
 
            //Результат
            Console.WriteLine("Загруженность вагона - {0} т", mVagon);
            Console.WriteLine("Стоимость груза - {0} тысяч рублей", sPrice);
            //
 
            Console.ReadKey();
        }
    }
}
1
0 / 0 / 0
Регистрация: 19.12.2017
Сообщений: 3
04.01.2018, 18:27  [ТС]
Спасибо большое за ответ!
Для чего используется "struct"?
0
 Аватар для Bargos
12 / 12 / 3
Регистрация: 15.11.2017
Сообщений: 37
05.01.2018, 05:49
Struct используется для объединения нескольких переменных в группу. Здесь мне удобнее связать характеристики контейнера воедино, в один объект для удобной сортировки. Объект действует также, как переменная, разница лишь в количестве сведений.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.01.2018, 05:49
Помогаю со студенческими работами здесь

Расчет максимальной стоимости заказанного товара по клиентам
Расчет максимальной стоимости заказанного товара по клиентам Лабораторная работа 2. Задание 3, вариант 14. Расчет максимальной...

Составить список товаров стоимость которых равна максимальной стоимости
Составить список товаров стоимость которых равна максимальной стоимости. Помогите пожалуйста ребят. Заранее благодарен.

Массив записей: вычислить и вывести на экран значение максимальной стоимости квартиры
Составить программу, которая создает файл с записями. Запись содержит информацию о параметрах объекта &quot;квартира&quot; а) запись...

Нахождение пути минимальной стоимости?
Задача такая, есть матрица размером m на n. Необходимо из нижнего левого угла попасть в верхний правый с минимальным количеством шагов....

Нахождение стоимости максимального пути
в файл вводится двумерный массив (например такой 4 5 6 8 6 4 3 1 8 9 5 3 3 5 6 3 ) и его размерность. программа должна...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru