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

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

29.03.2012, 19:42. Показов 9012. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задан массив чисел из n элементов. Вывести все возможные варианты перестановки из n элементов по m.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.03.2012, 19:42
Ответы с готовыми решениями:

Все возможные варианты перестановки символов строки
Дана строка s, состоящая из n символ (n меньше 6) составить все возможные варианты перестановки...

Вывести все возможные перестановки элементов массива
Имеется динамический массив a В массиве а имеется от 2 до 9 цифр Нужно написать программу,...

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

Рекурсия: вывести все возможные варианты расположения элементов массива без повторов
Доброго времени суток.Объясните пожалуйста в чем ошибка.Есть массив,нужно что бы программа вывела...

3
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
29.03.2012, 20:07 2
Цитата Сообщение от кол Посмотреть сообщение
все возможные варианты перестановки из n элементов по m.
Из n по m это называется сочетания. Поясните что Вам все-таки нужно, перестановки или сочетания?
0
0 / 0 / 0
Регистрация: 29.03.2012
Сообщений: 4
02.04.2012, 09:19  [ТС] 3
перестановки
0
Pascal +
137 / 136 / 127
Регистрация: 16.03.2011
Сообщений: 461
09.04.2012, 00:44 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от кол Посмотреть сообщение
Задан массив чисел из n элементов. Вывести все возможные варианты перестановки из n элементов по m
Вроде бы так
Pascal
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
Program perestanowki;
 uses Crt;
const
 mm=100;
var
 m,i,j,k,n:integer;
 a,p:array[1..mm] of integer;
begin
 write('Введите число эл.для перестановки ');
 readln(m);
 writeln('Введите элементы массива a[1..m]');
 for i:=1 to m do
 begin
 write('Введите ', i, '-й элемент ');
 readln(a[i]);
 p[i]:=i
 end;
 for i:=1 to m do write(a[i], ' ');
 writeln;
 for i:=m-1 downto 1 do
 if p[i] < p[i+1] then
 begin
 n:=p[i];
 for j:=m downto i do
 if n < p[j] then
 begin
 p[i]:=p[j]; p[j]:=n;
 k := 1;
 while i+k < m-k+1 do
 begin
 n:=p[i+k];
 p[i+k]:=p[m+1-k];
 p[m+1-k]:=n;
 k:=k+1
 end;
 j:=i
 end;
 for i:=1 to m do write(a[p[i]]:4);
 writeln
 end
end.
Добавлено через 8 минут
Можете в принципе randomize использовать, как удобно.

Добавлено через 8 минут
Как вариант .. можно использовать генератор сочетаний
Pascal
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
Program Generator_combination;
uses crt;
{Ãåíåðàòîð ñî÷åòàíèé}
const
 n=5; k=3; n1=100;
type
 t=array[1..n1] of integer;
var
 x,min,max : t;
 i,j,r:integer;
 
begin // çàäàþòñÿ íà÷àëüíûå çíà÷åíèÿ max,min,x
for j:=1 to k do
 begin
 max[j]:=n-j+1;
 min[j]:=k-j+1;
 x[j]:=min[j]
 end;
 
writeln('Ñî÷åòàíèÿ èç ',n,' ýë-òîâ ïî ', k, ' ýëåìåíòîâ');
 
while i<=k do
 begin
 for j:=k downto 1 do write(x[j], ' '); writeln;
 r:=r+1; i:=1;
 while (i<=k) and (x[i]=max[i]) do i:=i+1;
 if i<=k then x[i]:=x[i]+1;
 for j:=i-1 downto 1 do
 begin
 min[j]:= x[j+1]+1;
 x[j]:=min[j]
 end
 end;
writeln('Îáùåå ÷èñëî ñî÷åòàíèé ðàâíî r = ', r)
end.
1
09.04.2012, 00:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2012, 00:44
Помогаю со студенческими работами здесь

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

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

Вывести все возможные варианты перестановок от 1 до n
Здравствуйте, у меня есть массив чисел от 1 до n, нужно чтобы выводились все возможные варианты...

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


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

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

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