Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
3 / 3 / 0
Регистрация: 15.12.2012
Сообщений: 94

Вывести все возможные варианты перестановок от 1 до n

29.04.2014, 15:02. Показов 2756. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, у меня есть массив чисел от 1 до n, нужно чтобы выводились все возможные варианты перестановок по порядку, то есть для трёх чисел
1
12
13
123
2
21
23
213
и т.д то есть нужно комбинации где не все числа используются, как это сделать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.04.2014, 15:02
Ответы с готовыми решениями:

Вывести все возможные варианты разреза трубы
Вводится длина трубы, количество заготовок (1, 2, 3, 4 ил 5), которые можно вырезать из трубы, и длина каждой заготовки. Вывести все...

Структуры. Вывести все возможные варианты покупки товаров
может кто нибудь помочь составить прогу /* с++ */ 1) С клавиатуры вводятся записи вида: товар - стринг (название товара) цена -...

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

4
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
29.04.2014, 16:11
Если вам нужно реализовать группу перестановок Sn для произвольного n, то это - нетривиальная задача.
Если же ограничиться n = 3, то это - проще.
0
3 / 3 / 0
Регистрация: 15.12.2012
Сообщений: 94
29.04.2014, 17:11  [ТС]
для произвольного N надо, был бы очень благодарен хотя бы за примерную идею как это сделать(желательно рекурсивно)
0
 Аватар для aiwprton805
78 / 77 / 51
Регистрация: 30.03.2013
Сообщений: 194
29.04.2014, 18:36
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
#include <stdio.h>
#include <locale.h>
 
int main(int argc, char *argv[])
{
  setlocale(LC_ALL,"RU");
  int n, r, k;
  printf("Введите n, r\n");
  scanf("%d %d",&n,&r);
  int b[n];
  int a = n;
  for(int i=2;i<=r;++i){
    a = a*n;}
  printf("Введите элементы множества\n");
  for(int i=1;i<=n;++i){
    scanf("%d",&b[i]);}
  for(int i=1;i<=a;++i){
    k=i-1;
    for(int j=1;j<=r;++j){
      printf("%d ",b[(k%n)+1]);
      k=k/n;}
    printf("\n");}
    return 0;
}
1
3 / 3 / 0
Регистрация: 15.12.2012
Сообщений: 94
29.04.2014, 19:10  [ТС]
возможно вы неправильно поняли, но это не то что нужно. Нужно не просто все возможные перестановки получаемые задействованием всех элементов. Но и получаемые без некоторых из них, полный пример для n = 3:
1
1 2
1 2 3
1 3
1 3 2
2
2 1
2 1 3
2 3
2 3 1
3
3 1
3 1 2
3 2
3 2 1
в таком порядке и рекурсивно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.04.2014, 19:10
Помогаю со студенческими работами здесь

Комбинаторика: вывести все возможные варианты
Вывести все возможные варианты слов, которые можно составить из первых 4-х букв английского алфавита(буквы не должны повторяться),...

Вывести все возможные варианты значений
Помогите решить следующую проблему: Имеется 14 столбцов; в ячейке каждого из столбцов может находиться одно из трех значений: 1, X или 2....

Заменить все вопросительные знаки цифрами (от 1 до 9), перевести строку в число, вывести все возможные варианты
Дана строка состоящая из цифр и вопросительных знаков. Длина строки от 1 до 9 символов. Цель: заменить все вопросительные знаки цифрами (от...

Дано слово. Вывести все варианты перестановок его букв
Помогите решить задачу. ни как не смог сам. Дано слово. Вывести все варианты перестановок его букв. Например для Дом Будет: Дом ...

Вывести все возможные варианты перестановки чисел из n элементов по m
Задан массив чисел из n элементов. Вывести все возможные варианты перестановки из n элементов по m.


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru