Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.76
Енот6021
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 8
#1

Рекурсия. Вывести на экран все перестановки чисел от 1 до n в лексикографическом порядке. - C++

06.03.2014, 14:52. Просмотров 2679. Ответов 3
Метки нет (Все метки)

При помощи рекурсии по данному числу n выведите на экран все перестановки чисел от 1 до n в лексикографическом порядке.
Нужен текст программы, пример выполнения, блок схема.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2014, 14:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рекурсия. Вывести на экран все перестановки чисел от 1 до n в лексикографическом порядке. (C++):

Вывести все перестановки в лексиграфическом порядке чисел от 1 до N - C++
Помогите написать программу. Условие задачи: Дано N. Вывести все перестановки в лексиграфическом порядке чисел от 1 до N. Зараннее...

Даны n чисел в произвольном порядке, вывести на экран всевозможные их перестановки - C++
Даны n чисел в произвольном порядке. Вывести на экран всевозможные их перестановки. Есть у кого-нибудь данный алгоритм?

Распечатать перестановки в лексикографическом порядке - C++
На вводе число,например 5 На выводе 12345 23451 и тд,в общем этих чисел будет 5! (факториал) Даже идей...

Вывести трехзначное число, полученное в результате перестановки чисел в обратном порядке - C++
Вывести трехзначное число, полученное в результате перестановки чисел в обратном порядке. То есть 123 -> 321. Никак не могу понять в чем...

Рекурсия: вывести на экран цифры числа, принятого в качестве аргумента, в прямом порядке - C++
Кто знает как решить задачу на С++, при помощи рекурсии? Написать функцию, которая выводит на экран цифры числа, принятого в качестве...

Вывести на экран все возможные перестановки введенных ползователем символов - C++
С клавиатуры задается последовательность символов. Написать программу, которая выводит на экран все возможные перестановки введенных...

3
jurok_85
241 / 225 / 78
Регистрация: 21.02.2013
Сообщений: 520
Завершенные тесты: 1
07.03.2014, 03:55 #3
ну во так наверное:
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
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <algorithm>
const int n = 4;
using namespace std;
void lexigraph_comp(char lex[][10], int sz)
{
 
 
    for(int i = 0; i != n-1;i++)
    {
        if(strcmp(lex[i], lex[i+1]) <0)
        {
            swap(lex[i], lex[i+1]);
            for(int j = 0; j!= n; j++)
            cout << lex[j] << " ";
        cout << endl;
        }
 
    }
    if(sz < n -2)
    {
        sz++;
    lexigraph_comp(lex,sz );
    }
 
}
 
int main() {
  int arr[n];
 
  for(int i = 0; i != n; i++)
  {
      arr[i] = (i+1) * 3 ;
      cout << arr[i] << " ";
  }
  char lex[n][10];
  cout << endl;
  for(int i = 0; i != n; i++)
  {
      itoa(arr[i],lex[i], 10);
 
  }
  cout <<endl;
    int sz=0 ;
  lexigraph_comp(lex, sz);
}
но не уверен что именно то что вам нужно, а так программа сортирует лексиграфически в порядке убывания с помощью рекурсии
0
castorsky
1968 / 1070 / 79
Регистрация: 29.11.2013
Сообщений: 3,312
07.03.2014, 04:21 #4
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
#include <iostream>
#include <algorithm>
 
int main ()
{
    int n;
 
    std::cout << "Enter n: ";
    std::cin >> n;
 
    int myints[n];
 
    for (int i = 0; i < n; i++)
        myints[i] = i + 1;
 
    std::sort (myints, myints + n);
    std::cout << "The " << n << "! possible permutations with 3 elements:\n";
 
    do {
        for (int i = 0; i < n; i++)
            std::cout << myints[i] << ' ';
        std::cout << '\n';
    } while ( std::next_permutation(myints, myints + n) );
 
    std::cout << "After loop: \n";
    for (int i = 0; i < n; i++)
        std::cout << myints[i] << ' ';
    std::cout << '\n';
 
  return 0;
}
0
07.03.2014, 04:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2014, 04:21
Привет! Вот еще темы с ответами:

Рекурсия: вывести все цифры заданного натурального числа в обратном порядке - C++
дано натуральное число N. выведите все цифры по одной, в обратном порядке, разделяя их пробелами или новыми строками. При решении этой...

Вывести на экран все возможные перестановки введенных символов. Где ошибка? - C++
С клавиатуры задается последовательность символов. Написать программу, которая выводит на экран все возможные перестановки введенных...

С помощью метода эффективного порождения перестановок вывести на экран все перестановки множества - C++
Напишите пожалуйста программу задание такое: С помощью метода эффективного порождения перестановок вывести на экран все перестановки...

Привести в лексикографическом порядке все r-размещения с повторениями из элементов множества {1,2, ... ,n} и определить их количество - C++
Условие задачи нужно написать програму с указанными входными данными и результатами, на С++ языке задано натуральные числа n и r....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.