Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2011, 12:43   #21
Natysya
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 30
По умолчанию

Я добавлю библиотеку iostream.h и всё будет работать.
Natysya вне форума Ответить с цитированием
Старый 16.02.2011, 12:55   #22
Д_М
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 92
По умолчанию

Цитата:
Сообщение от Natysya Посмотреть сообщение
Я добавлю библиотеку iostream.h и всё будет работать.
В C++ будет. В C - нет. И включать по-хорошему надо <iostream> без .h

Насчет числа предметов в ранце. Решение неоднозначно.

Пример - есть 2 предмета
предмет_1 : вес=1 цена=1
предмет_2 : вес=2 цена=2

Макс. вес=2

Можно взять 2 * предмет_1 или 1 предмет_2.

Какое число нужно? Минимальное, максимальное, любое?
Д_М вне форума Ответить с цитированием
Старый 16.02.2011, 13:17   #23
Natysya
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 30
По умолчанию

нужны все возможные варианты!
Natysya вне форума Ответить с цитированием
Старый 16.02.2011, 13:49   #24
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Насчет числа предметов в ранце. Решение неоднозначно.
точно. может быть несколько вариантов.
в приведённом Вами случае оба решения подходят как полностью эквивалентные!

и что? это что-то меняет?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.02.2011, 13:59   #25
Д_М
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 92
По умолчанию

Цитата:
и что? это что-то меняет?
Меняет Надо выводить число предметов в ранце.
Д_М вне форума Ответить с цитированием
Старый 16.02.2011, 15:39   #26
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Надо выводить число предметов в ранце.
точно. причём нужно выводить количество каждого типа предметов. их же может быть не два, а побольше. и оптимальный вариант несколько одних предметов, несколько других, несколько третьих и т.д....


p.s. когда я пишу в данной теме, у меня чёткое ощущение, что я оффтоплю...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.02.2011, 15:47   #27
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Цитата:
Сообщение от Natysya Посмотреть сообщение
Я добавлю библиотеку iostream.h и всё будет работать.
В C такой библиотеки нет.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 16.02.2011, 17:38   #28
Д_М
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 92
По умолчанию

Цитата:
Сообщение от Natysya Посмотреть сообщение
нужны все возможные варианты!
Точно все варианты нужны? Отслеживать все альтернативы может оказаться накладно
Д_М вне форума Ответить с цитированием
Старый 16.02.2011, 18:03   #29
Д_М
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 92
По умолчанию

Код:
int main()
{
...
  w=new int [n];
  v=new int [n];
  mas=new int [W+1];
  int* cnt = new int [W+1];
...
  mas[0] = 0;
  cnt[0] = 0;
  for (int j = 1;j <= W; j++){
    mas[j] = mas[j-1];
    cnt[j] = cnt[j-1];
    for(i = 0; i < n; i++){
      if(w[i] <= j){
        int probe = mas[j - w[i]] + v[i];
        if(mas[j] < probe) {
            mas[j] = probe;
            cnt[j] = cnt[j-w[i]] + 1;
        }
      }
    }
  }
  cout<<"Max price = "<<mas[W] <<  " objects count = " << cnt[W] << endl;
  return 0;
}
Как-то так. Выводит только один из возможных вариантов количества предметов.
Для вывода всех вариантов надо сделать cnt массивом множеств и добавить обработку случая mas[j] == probe
Д_М вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка оборудования(вариант "Задачи о ранце") matteo Общие вопросы C/C++ 1 11.03.2011 11:49
Задача по C++ GLAM1 Общие вопросы C/C++ 7 24.10.2010 17:41
О ранце fkorto Помощь студентам 3 28.04.2010 17:23
Задача о ранце werder_ua Помощь студентам 8 23.11.2009 13:50