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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2010, 20:37   #1
mariafors
Новичок
Джуниор
 
Регистрация: 25.12.2010
Сообщений: 1
Восклицание Все возможные размещения чисел от 2 до n

частью моей программы является алгоритм генерации размещений из комбинаторики. мне нужно получить все возможные размещения чисел от 2 до n. например, если у меня n=4, то я должна получит след:

2
3
4
23
24
34
234
243
324
342
423
432

помогите, пожалуйста, а то что - то я с ним окончательно и бесповоротно запуталась...
mariafors вне форума Ответить с цитированием
Старый 25.12.2010, 20:43   #2
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Темы с такими ничего не говорящими об их сути названиями чаще всего и закрывают.

А по теме - поиском пользовались? Море инфы.
Если лень, то я щас из одного проекта вытащу, но разобраться не помогу - тут уже мне лень будет.

PS. А где код с которым вы запутались?
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Старый 25.12.2010, 20:45   #3
dosha
Форумчанин
 
Регистрация: 30.08.2010
Сообщений: 224
По умолчанию

могу решить за вознаграждение , стучи в асю 631694469
зы название темы ведет к её закрытию.
dosha вне форума Ответить с цитированием
Старый 25.12.2010, 21:19   #4
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Не, из проекта выцеплять не стал, там много всего накручено, но нашел что-то похожее (надеюсь под свои условия заточить сможете):

Код:
#include <stdio.h>
 
int a[20];
int na;
 
int n, m; // total, to-take
 
void step(int pos)
{
 if(na==m) // one more completed
 {
   for(int i=0;i<na;i++)
     printf("%d ", a[i]+1);
 
   puts("");
 
   return;   
 }
 
 if(pos+m-na > n) // won't be able to complete
   return;
 
 na++;
 
 for(int i = pos ? a[pos-1]+1 : 0 ; i<n ; i++)
   a[na-1] = i, step(pos+1);
 
 na--;
}
 
int main()
{
 scanf("%d %d", &n, &m);
 
 for(int i=0;i<n;i++)
  a[i] = i;
 
 step(0); 
}
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны цифры от 1 до 38 нужно составить все возможные комбинации из 6 чисел без повторений. gector Фриланс 14 01.04.2013 20:20
Все возможные варианты строки Vikenty Общие вопросы Delphi 3 29.08.2010 03:30
графы - Все возможные пути manuk Помощь студентам 9 23.05.2010 23:58
Все возможные слагаемые anGeee Паскаль, Turbo Pascal, PascalABC.NET 4 04.12.2008 20:22
Delphi, рекурсия, как сделать все возможные N-ки чисел (сколько столбцов такая N-ка,в данном случае 3)? domik Помощь студентам 5 26.09.2007 16:43