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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2013, 21:01   #1
Romalio
Новичок
Джуниор
 
Регистрация: 27.05.2013
Сообщений: 1
По умолчанию Прошу подсказать код! СИ++

Надо написать функцию, которая бы генерировала бы все K элементные подмножества из N элементного без повторений, при этом на вход подается массив содержащий все N элементов, число k и число N.
Romalio вне форума Ответить с цитированием
Старый 27.05.2013, 21:32   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Ну, раз уж вспоминаем рекурсию...
ТС хочет решение? Вот ему решение. Рабочее.
Код:
void print_subsets_acc(const int* set, size_t k, size_t N, int* acc, size_t rem){
  if(rem > N) return;
  if(rem == 0) {
    for(const int* c=acc; k>0; --k) printf("%d, ", *c++);
    printf("\n");
    return;
  }
  print_subsets_acc(set+1, k, N-1, acc, rem);
  acc[rem-1] = *set;
  print_subsets_acc(set+1, k, N-1, acc, rem-1);
}
Abstraction вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу помочь, подсказать bigradiance Компьютерное железо 4 23.02.2013 18:56
Прошу помочь, подсказать. semushka Свободное общение 2 11.01.2012 10:48
Прошу проверить код pandaaaaa Паскаль, Turbo Pascal, PascalABC.NET 6 14.12.2011 01:58
прошу подсказать в создании отчета Ulan Microsoft Office Access 6 12.07.2008 00:51
Проги для PHP, полезная литературка - прошу подсказать. SuperVisor PHP 12 22.10.2007 11:27