2 / 2 / 0
Регистрация: 23.08.2020
Сообщений: 167
1

Нужно слегка исправить код генерация перестановок

27.10.2020, 17:01. Показов 179. Ответов 0

Как изменить представленный код, чтобы получился результат со скриншота
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
#include<iostream>
 
using namespace std;
 
void swap(char *a, int i, int j)
{
  int s = a[i];
  a[i] = a[j];
  a[j] = s;
}
bool NextSet(char *a, int k)
{
  int j = k - 2;
  while (j != -1 && a[j] >= a[j + 1]) j--;
  if (j == -1)
    return false; // больше перестановок нет
  int n = k - 1;
  while (a[j] >= a[n]) n--;
  swap(a, j, n);
  int l = j + 1, r = k - 1; // сортируем оставшуюся часть последовательности
  while (l < r)
  {
    swap(a, l++, r--);
  }
  return true;
}
void Print(int *a, int n)  // вывод перестановки
{
  static int num = 1; // номер перестановки
  cout.width(3); // ширина поля вывода номера перестановки
  for (int i = 0; i < n; i++)
    cout << a[i] << " ";
  cout << endl;
}
int main() 
{
  int k;
  std::cout << "k = ";
  std::cin >> k;
 
  char *a = new char[k + 1]{};
  for (int i = 0; i < k; i++)
  {
    a[i] = 'a' + i;
  }
    
  std::cout << a << std::endl;
  while (NextSet(a, k))
  {
      std::cout << a << std::endl;
  }
  
  return 0;
}
Помогите пожалуйста
Миниатюры
Нужно слегка исправить код генерация перестановок  
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.10.2020, 17:01
Ответы с готовыми решениями:

Генерация всех перестановок n-элементного множества за минимальное количество перестановок (Алгол60 -> Дельфи)
Искал по книгам код для данной задачи: Разработать алгоритм генерации всех перестановок...

Нужно исправить код, выдаёт ошибку и не запускает форму, нужно привязать базу данных Access
Мне нужно вставить ссылку на базу данных Access, но я не пойму, он ее не видит что ли, либо я не...

Генерация перестановок
Написал программу, но она работает не правильно procedure generate (l,r:integer); var ...

Генерация перестановок.
Написать рекурсивную программу, которая печатала бы все перестановки чисел 1..n по одному разу

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2020, 17:01
Помогаю со студенческими работами здесь

Генерация перестановок
Привет, я написал прогу для вывода в файл всех перестановок ряда чисел 1,2, ... ,n. Число n можно...

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

Рекурсивная генерация перестановок
{ рекурсивные алгоритмы: генерация перестановок } const n = 3; { количество элементов в...

Генерация случайных перестановок
Пожалуйста помогите сделать генерацию случайных перестановок. препод по программированию задал .

Генерация перестановок чисел от 1 до N
Данная программа выдает неверные данные при N=5 и более.Сдается мне что есть проблемы в сортировке....

Генерация всех перестановок
Здравствуйте. Наткнулся на программу генерацию всех перестановок, и есть 2 момента, которые не могу...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru