Форум программистов, компьютерный форум CyberForum.ru

Подсчитать число перестановок из чисел 1,2,…, N<=7, в которых разность между соседними числами равна 1 - C++

Восстановить пароль Регистрация
 
pollybel
Сообщений: n/a
28.04.2014, 23:11     Подсчитать число перестановок из чисел 1,2,…, N<=7, в которых разность между соседними числами равна 1 #1
Задача выглядит так: Подсчитать число перестановок из чисел 1,2,…, N<=7, в которых разность между соседними числами равна 1
По сути дела, перестановки всего таких две - 1234567 и 7654321, если смотреть без повторений. Однако в программе нужно описать именно перестановку, помогите, пожалуйста.

Добавлено через 55 минут
тут много лишних библиотек и вообще всего-всего ненужного, но суть в том что она в итоге выдает 1234567, как сочетание из 7 по 7 без повторений
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
#include <vcl.h>
#include <iostream.h>
#include <conio.h>
#include <math.h>
 
#pragma hdrstop
 
#include <stdio.h>
#define kolichestvo_chisel 7
#define kolichestvo_razmeshaushihsya_chisel 7
 
void func_recurs (int nomer_funktsii, int nomer_elementa, int kol_ostavshihsa_chisel,  int* stroka, int* array) {
  
 
 
 
 for (int i= nomer_elementa; i< kolichestvo_chisel- kol_ostavshihsa_chisel+ 1; i++) {
 
        if (nomer_funktsii< kolichestvo_razmeshaushihsya_chisel- 1) {
        array [nomer_funktsii]= stroka [i];
        func_recurs (nomer_funktsii+ 1, i+ 1, kol_ostavshihsa_chisel- 1, stroka, array);
  }
 
  else
 {
        array [nomer_funktsii]= stroka [i];
        for (int i= 0; i< kolichestvo_razmeshaushihsya_chisel; i++)
        printf ("%d   ", array [i] );
        printf ("\n");
  }
 }
}
 
 
int main ()
 {
 
        int stroka []= {1, 2, 3, 4, 5, 6, 7};
        int array [kolichestvo_razmeshaushihsya_chisel];
        func_recurs (0, 0, kolichestvo_razmeshaushihsya_chisel, stroka, array);
 
 
 getch();
 return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2014, 23:11     Подсчитать число перестановок из чисел 1,2,…, N<=7, в которых разность между соседними числами равна 1
Посмотрите здесь:

C++ Выяснить, имеются ли среди чисел n, n+1, ..., 2n близнецы, т.е. простые числа, разность между которыми равна двум.
Вывести минимальную по абсолютной величине разность между соседними числами. C++
C++ Между n и 2n найти все пары простых чисел, разница которых равна 2
Определить максимальную разность между двумя соседними цифрами числа C++
С++ Для вводимой последовательности целых чисел найти максимальную разность между соседними элементами C++
C++ Найти наибольшую по величине разность между соседними элементами массива
Выдать пары простых чисел, разность между которыми равна 4, а сами числа меньше n C++
Подсчитать количество четырёхзначных чисел, сумма цифр которых равна заданному числу C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 11:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru